{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "f02249e2",
   "metadata": {},
   "outputs": [],
   "source": [
    "# importing libaries\n",
    "\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.io"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7c6ddce9",
   "metadata": {},
   "outputs": [],
   "source": [
    "class LEMCell(nn.Module):\n",
    "    def __init__(self, ninp, nhid, dt):\n",
    "        super(LEMCell, self).__init__()\n",
    "        self.ninp = ninp\n",
    "        self.nhid = nhid\n",
    "        self.dt = dt\n",
    "        self.inp2hid = nn.Linear(ninp, 4 * nhid)\n",
    "        self.hid2hid = nn.Linear(nhid, 3 * nhid)\n",
    "        self.transform_z = nn.Linear(nhid, nhid)\n",
    "        self.reset_parameters()\n",
    "\n",
    "    def reset_parameters(self):\n",
    "        std = 1.0 / np.sqrt(self.nhid)\n",
    "        for w in self.parameters():\n",
    "            w.data.uniform_(-std, std)\n",
    "\n",
    "    def forward(self, x, y, z):\n",
    "        transformed_inp = self.inp2hid(x)\n",
    "        transformed_hid = self.hid2hid(y)\n",
    "        i_dt1, i_dt2, i_z, i_y = transformed_inp.chunk(4, 1)\n",
    "        h_dt1, h_dt2, h_y = transformed_hid.chunk(3, 1)\n",
    "\n",
    "        ms_dt_bar = self.dt * torch.sigmoid(i_dt1 + h_dt1)\n",
    "        ms_dt = self.dt * torch.sigmoid(i_dt2 + h_dt2)\n",
    "\n",
    "        z = (1. - ms_dt) * z + ms_dt * torch.tanh(i_y + h_y)\n",
    "        y = (1. - ms_dt_bar) * y + ms_dt_bar * torch.tanh(self.transform_z(z) + i_z)\n",
    "\n",
    "        return y, z\n",
    "\n",
    "# Define the LEM model\n",
    "class LEM(nn.Module):\n",
    "    def __init__(self, ninp, nhid, nout, dt=1.):\n",
    "        super(LEM, self).__init__()\n",
    "        self.nhid = nhid\n",
    "        self.cell = LEMCell(ninp, nhid, dt)\n",
    "        self.classifier = nn.Linear(nhid, nout)\n",
    "        self.init_weights()\n",
    "\n",
    "    def init_weights(self):\n",
    "        for name, param in self.named_parameters():\n",
    "            if 'classifier' in name and 'weight' in name:\n",
    "                nn.init.kaiming_normal_(param.data)\n",
    "\n",
    "    def forward(self, input):\n",
    "        y = input.data.new(input.size(1), self.nhid).zero_()\n",
    "        z = input.data.new(input.size(1), self.nhid).zero_()\n",
    "        for x in input:\n",
    "            y, z = self.cell(x, y, z)\n",
    "        out = self.classifier(y)\n",
    "        return out"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "36d6fa55",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Toy problem data\n",
    "input_size = 256  # number of columns in a dataset\n",
    "hidden_size = 32  # number of neurons\n",
    "output_size = 256  \n",
    "sequence_length = 160  # number of sequences/ number of rows\n",
    "batch_size = 1\n",
    "num_epochs = 20000"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "519594c6",
   "metadata": {},
   "source": [
    "### importing PINN solution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "2103e0ff",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Load the .mat file\n",
    "v_data = scipy.io.loadmat('v.mat')\n",
    "h_data = scipy.io.loadmat('h.mat')\n",
    "x_data = scipy.io.loadmat('x.mat')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "172f53d3",
   "metadata": {},
   "outputs": [],
   "source": [
    "x = x_data['X']\n",
    "u = h_data['h']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "bf954b1d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<torch._C.Generator at 0x7f9c98065790>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Set random seed for reproducibility\n",
    "torch.manual_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "cdabefdf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "test data shape (256,)\n",
      "input data shape (160, 256)\n",
      "Target data shape (160, 256)\n"
     ]
    }
   ],
   "source": [
    "input_data = u[0:160,:]\n",
    "target_data = u[1:161, :]\n",
    "\n",
    "test_data = u[160, :]\n",
    "#test_target = u[161:201, :]\n",
    "\n",
    "print(\"test data shape\", test_data.shape)\n",
    "#print(\"test target shape\", test_target.shape)\n",
    "\n",
    "print(\"input data shape\",input_data.shape)\n",
    "print(\"Target data shape\",target_data.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "b32d98b1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "input tensor shape torch.Size([1, 160, 256])\n",
      "Target tensor shape torch.Size([1, 160, 256])\n"
     ]
    }
   ],
   "source": [
    "# Convert data to tensors\n",
    "input_tensor = torch.tensor(input_data).view(batch_size, sequence_length, input_size).float()\n",
    "target_tensor = torch.tensor(target_data).view(batch_size, sequence_length, output_size).float()\n",
    "\n",
    "print(\"input tensor shape\",input_tensor.shape)\n",
    "print(\"Target tensor shape\",target_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "b4c0af1d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Convert test data to tensors\n",
    "test_tensor = torch.tensor(test_data).view(batch_size, 1, input_size).float()\n",
    "#test_target_tensor = torch.tensor(test_target).view(batch_size, 40, output_size).float()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "928ae47f",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/data/localhome/tkapoor/.local/lib/python3.8/site-packages/torch/nn/modules/loss.py:520: UserWarning: Using a target size (torch.Size([1, 160, 256])) that is different to the input size (torch.Size([160, 256])). This will likely lead to incorrect results due to broadcasting. Please ensure they have the same size.\n",
      "  return F.mse_loss(input, target, reduction=self.reduction)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 10/20000, Loss: 0.479722\n",
      "Epoch: 20/20000, Loss: 0.299909\n",
      "Epoch: 30/20000, Loss: 0.192060\n",
      "Epoch: 40/20000, Loss: 0.125751\n",
      "Epoch: 50/20000, Loss: 0.084280\n",
      "Epoch: 60/20000, Loss: 0.059736\n",
      "Epoch: 70/20000, Loss: 0.045873\n",
      "Epoch: 80/20000, Loss: 0.038256\n",
      "Epoch: 90/20000, Loss: 0.034200\n",
      "Epoch: 100/20000, Loss: 0.032135\n",
      "Epoch: 110/20000, Loss: 0.031135\n",
      "Epoch: 120/20000, Loss: 0.030675\n",
      "Epoch: 130/20000, Loss: 0.030475\n",
      "Epoch: 140/20000, Loss: 0.030394\n",
      "Epoch: 150/20000, Loss: 0.030363\n",
      "Epoch: 160/20000, Loss: 0.030353\n",
      "Epoch: 170/20000, Loss: 0.030349\n",
      "Epoch: 180/20000, Loss: 0.030348\n",
      "Epoch: 190/20000, Loss: 0.030348\n",
      "Epoch: 200/20000, Loss: 0.030348\n",
      "Epoch: 210/20000, Loss: 0.030348\n",
      "Epoch: 220/20000, Loss: 0.030348\n",
      "Epoch: 230/20000, Loss: 0.030348\n",
      "Epoch: 240/20000, Loss: 0.030348\n",
      "Epoch: 250/20000, Loss: 0.030348\n",
      "Epoch: 260/20000, Loss: 0.030348\n",
      "Epoch: 270/20000, Loss: 0.030348\n",
      "Epoch: 280/20000, Loss: 0.030348\n",
      "Epoch: 290/20000, Loss: 0.030348\n",
      "Epoch: 300/20000, Loss: 0.030348\n",
      "Epoch: 310/20000, Loss: 0.030348\n",
      "Epoch: 320/20000, Loss: 0.030348\n",
      "Epoch: 330/20000, Loss: 0.030348\n",
      "Epoch: 340/20000, Loss: 0.030348\n",
      "Epoch: 350/20000, Loss: 0.030348\n",
      "Epoch: 360/20000, Loss: 0.030348\n",
      "Epoch: 370/20000, Loss: 0.030348\n",
      "Epoch: 380/20000, Loss: 0.030348\n",
      "Epoch: 390/20000, Loss: 0.030348\n",
      "Epoch: 400/20000, Loss: 0.030348\n",
      "Epoch: 410/20000, Loss: 0.030348\n",
      "Epoch: 420/20000, Loss: 0.030348\n",
      "Epoch: 430/20000, Loss: 0.030348\n",
      "Epoch: 440/20000, Loss: 0.030348\n",
      "Epoch: 450/20000, Loss: 0.030348\n",
      "Epoch: 460/20000, Loss: 0.030348\n",
      "Epoch: 470/20000, Loss: 0.030348\n",
      "Epoch: 480/20000, Loss: 0.030348\n",
      "Epoch: 490/20000, Loss: 0.030348\n",
      "Epoch: 500/20000, Loss: 0.030348\n",
      "Epoch: 510/20000, Loss: 0.030348\n",
      "Epoch: 520/20000, Loss: 0.030348\n",
      "Epoch: 530/20000, Loss: 0.030348\n",
      "Epoch: 540/20000, Loss: 0.030347\n",
      "Epoch: 550/20000, Loss: 0.030347\n",
      "Epoch: 560/20000, Loss: 0.030345\n",
      "Epoch: 570/20000, Loss: 0.029935\n",
      "Epoch: 580/20000, Loss: 0.027353\n",
      "Epoch: 590/20000, Loss: 0.024609\n",
      "Epoch: 600/20000, Loss: 0.022342\n",
      "Epoch: 610/20000, Loss: 0.020509\n",
      "Epoch: 620/20000, Loss: 0.019009\n",
      "Epoch: 630/20000, Loss: 0.017755\n",
      "Epoch: 640/20000, Loss: 0.016686\n",
      "Epoch: 650/20000, Loss: 0.015756\n",
      "Epoch: 660/20000, Loss: 0.014936\n",
      "Epoch: 670/20000, Loss: 0.014202\n",
      "Epoch: 680/20000, Loss: 0.013536\n",
      "Epoch: 690/20000, Loss: 0.012924\n",
      "Epoch: 700/20000, Loss: 0.012359\n",
      "Epoch: 710/20000, Loss: 0.011836\n",
      "Epoch: 720/20000, Loss: 0.011371\n",
      "Epoch: 730/20000, Loss: 0.010957\n",
      "Epoch: 740/20000, Loss: 0.010517\n",
      "Epoch: 750/20000, Loss: 0.010113\n",
      "Epoch: 760/20000, Loss: 0.009752\n",
      "Epoch: 770/20000, Loss: 0.009407\n",
      "Epoch: 780/20000, Loss: 0.009084\n",
      "Epoch: 790/20000, Loss: 0.008780\n",
      "Epoch: 800/20000, Loss: 0.008492\n",
      "Epoch: 810/20000, Loss: 0.008221\n",
      "Epoch: 820/20000, Loss: 0.007963\n",
      "Epoch: 830/20000, Loss: 0.007719\n",
      "Epoch: 840/20000, Loss: 0.007487\n",
      "Epoch: 850/20000, Loss: 0.007266\n",
      "Epoch: 860/20000, Loss: 0.007055\n",
      "Epoch: 870/20000, Loss: 0.006856\n",
      "Epoch: 880/20000, Loss: 0.006707\n",
      "Epoch: 890/20000, Loss: 0.006491\n",
      "Epoch: 900/20000, Loss: 0.006314\n",
      "Epoch: 910/20000, Loss: 0.006142\n",
      "Epoch: 920/20000, Loss: 0.005982\n",
      "Epoch: 930/20000, Loss: 0.005828\n",
      "Epoch: 940/20000, Loss: 0.005681\n",
      "Epoch: 950/20000, Loss: 0.005540\n",
      "Epoch: 960/20000, Loss: 0.005404\n",
      "Epoch: 970/20000, Loss: 0.005273\n",
      "Epoch: 980/20000, Loss: 0.005148\n",
      "Epoch: 990/20000, Loss: 0.005070\n",
      "Epoch: 1000/20000, Loss: 0.004950\n",
      "Epoch: 1010/20000, Loss: 0.004807\n",
      "Epoch: 1020/20000, Loss: 0.004693\n",
      "Epoch: 1030/20000, Loss: 0.004591\n",
      "Epoch: 1040/20000, Loss: 0.004490\n",
      "Epoch: 1050/20000, Loss: 0.004392\n",
      "Epoch: 1060/20000, Loss: 0.004298\n",
      "Epoch: 1070/20000, Loss: 0.004208\n",
      "Epoch: 1080/20000, Loss: 0.004120\n",
      "Epoch: 1090/20000, Loss: 0.004037\n",
      "Epoch: 1100/20000, Loss: 0.004018\n",
      "Epoch: 1110/20000, Loss: 0.003906\n",
      "Epoch: 1120/20000, Loss: 0.003820\n",
      "Epoch: 1130/20000, Loss: 0.003733\n",
      "Epoch: 1140/20000, Loss: 0.003656\n",
      "Epoch: 1150/20000, Loss: 0.003586\n",
      "Epoch: 1160/20000, Loss: 0.003519\n",
      "Epoch: 1170/20000, Loss: 0.003453\n",
      "Epoch: 1180/20000, Loss: 0.003390\n",
      "Epoch: 1190/20000, Loss: 0.003328\n",
      "Epoch: 1200/20000, Loss: 0.003268\n",
      "Epoch: 1210/20000, Loss: 0.003210\n",
      "Epoch: 1220/20000, Loss: 0.003153\n",
      "Epoch: 1230/20000, Loss: 0.003098\n",
      "Epoch: 1240/20000, Loss: 0.003084\n",
      "Epoch: 1250/20000, Loss: 0.003142\n",
      "Epoch: 1260/20000, Loss: 0.002948\n",
      "Epoch: 1270/20000, Loss: 0.002922\n",
      "Epoch: 1280/20000, Loss: 0.002861\n",
      "Epoch: 1290/20000, Loss: 0.002806\n",
      "Epoch: 1300/20000, Loss: 0.002759\n",
      "Epoch: 1310/20000, Loss: 0.002716\n",
      "Epoch: 1320/20000, Loss: 0.002673\n",
      "Epoch: 1330/20000, Loss: 0.002631\n",
      "Epoch: 1340/20000, Loss: 0.002590\n",
      "Epoch: 1350/20000, Loss: 0.002551\n",
      "Epoch: 1360/20000, Loss: 0.002512\n",
      "Epoch: 1370/20000, Loss: 0.002474\n",
      "Epoch: 1380/20000, Loss: 0.002437\n",
      "Epoch: 1390/20000, Loss: 0.002401\n",
      "Epoch: 1400/20000, Loss: 0.002366\n",
      "Epoch: 1410/20000, Loss: 0.002332\n",
      "Epoch: 1420/20000, Loss: 0.002299\n",
      "Epoch: 1430/20000, Loss: 0.002269\n",
      "Epoch: 1440/20000, Loss: 0.002302\n",
      "Epoch: 1450/20000, Loss: 0.002215\n",
      "Epoch: 1460/20000, Loss: 0.002175\n",
      "Epoch: 1470/20000, Loss: 0.002153\n",
      "Epoch: 1480/20000, Loss: 0.002120\n",
      "Epoch: 1490/20000, Loss: 0.002089\n",
      "Epoch: 1500/20000, Loss: 0.002061\n",
      "Epoch: 1510/20000, Loss: 0.002034\n",
      "Epoch: 1520/20000, Loss: 0.002007\n",
      "Epoch: 1530/20000, Loss: 0.001981\n",
      "Epoch: 1540/20000, Loss: 0.001933\n",
      "Epoch: 1550/20000, Loss: 0.002657\n",
      "Epoch: 1560/20000, Loss: 0.002165\n",
      "Epoch: 1570/20000, Loss: 0.001945\n",
      "Epoch: 1580/20000, Loss: 0.001888\n",
      "Epoch: 1590/20000, Loss: 0.001855\n",
      "Epoch: 1600/20000, Loss: 0.001828\n",
      "Epoch: 1610/20000, Loss: 0.001805\n",
      "Epoch: 1620/20000, Loss: 0.001783\n",
      "Epoch: 1630/20000, Loss: 0.001762\n",
      "Epoch: 1640/20000, Loss: 0.001742\n",
      "Epoch: 1650/20000, Loss: 0.001721\n",
      "Epoch: 1660/20000, Loss: 0.001702\n",
      "Epoch: 1670/20000, Loss: 0.001683\n",
      "Epoch: 1680/20000, Loss: 0.001664\n",
      "Epoch: 1690/20000, Loss: 0.001645\n",
      "Epoch: 1700/20000, Loss: 0.001627\n",
      "Epoch: 1710/20000, Loss: 0.001609\n",
      "Epoch: 1720/20000, Loss: 0.001591\n",
      "Epoch: 1730/20000, Loss: 0.001574\n",
      "Epoch: 1740/20000, Loss: 0.001557\n",
      "Epoch: 1750/20000, Loss: 0.001541\n",
      "Epoch: 1760/20000, Loss: 0.001525\n",
      "Epoch: 1770/20000, Loss: 0.001509\n",
      "Epoch: 1780/20000, Loss: 0.001493\n",
      "Epoch: 1790/20000, Loss: 0.001477\n",
      "Epoch: 1800/20000, Loss: 0.001462\n",
      "Epoch: 1810/20000, Loss: 0.001447\n",
      "Epoch: 1820/20000, Loss: 0.001433\n",
      "Epoch: 1830/20000, Loss: 0.001418\n",
      "Epoch: 1840/20000, Loss: 0.001404\n",
      "Epoch: 1850/20000, Loss: 0.001390\n",
      "Epoch: 1860/20000, Loss: 0.001377\n",
      "Epoch: 1870/20000, Loss: 0.001363\n",
      "Epoch: 1880/20000, Loss: 0.001350\n",
      "Epoch: 1890/20000, Loss: 0.001337\n",
      "Epoch: 1900/20000, Loss: 0.001324\n",
      "Epoch: 1910/20000, Loss: 0.001311\n",
      "Epoch: 1920/20000, Loss: 0.001299\n",
      "Epoch: 1930/20000, Loss: 0.001287\n",
      "Epoch: 1940/20000, Loss: 0.001275\n",
      "Epoch: 1950/20000, Loss: 0.001263\n",
      "Epoch: 1960/20000, Loss: 0.001251\n",
      "Epoch: 1970/20000, Loss: 0.001242\n",
      "Epoch: 1980/20000, Loss: 0.001423\n",
      "Epoch: 1990/20000, Loss: 0.001335\n",
      "Epoch: 2000/20000, Loss: 0.001213\n",
      "Epoch: 2010/20000, Loss: 0.001216\n",
      "Epoch: 2020/20000, Loss: 0.001190\n",
      "Epoch: 2030/20000, Loss: 0.001181\n",
      "Epoch: 2040/20000, Loss: 0.001169\n",
      "Epoch: 2050/20000, Loss: 0.001159\n",
      "Epoch: 2060/20000, Loss: 0.001149\n",
      "Epoch: 2070/20000, Loss: 0.001139\n",
      "Epoch: 2080/20000, Loss: 0.001130\n",
      "Epoch: 2090/20000, Loss: 0.001121\n",
      "Epoch: 2100/20000, Loss: 0.001111\n",
      "Epoch: 2110/20000, Loss: 0.001102\n",
      "Epoch: 2120/20000, Loss: 0.001093\n",
      "Epoch: 2130/20000, Loss: 0.001085\n",
      "Epoch: 2140/20000, Loss: 0.001076\n",
      "Epoch: 2150/20000, Loss: 0.001067\n",
      "Epoch: 2160/20000, Loss: 0.001059\n",
      "Epoch: 2170/20000, Loss: 0.001051\n",
      "Epoch: 2180/20000, Loss: 0.001336\n",
      "Epoch: 2190/20000, Loss: 0.001176\n",
      "Epoch: 2200/20000, Loss: 0.001037\n",
      "Epoch: 2210/20000, Loss: 0.001032\n",
      "Epoch: 2220/20000, Loss: 0.001022\n",
      "Epoch: 2230/20000, Loss: 0.001007\n",
      "Epoch: 2240/20000, Loss: 0.000999\n",
      "Epoch: 2250/20000, Loss: 0.000992\n",
      "Epoch: 2260/20000, Loss: 0.000985\n",
      "Epoch: 2270/20000, Loss: 0.000978\n",
      "Epoch: 2280/20000, Loss: 0.000971\n",
      "Epoch: 2290/20000, Loss: 0.000964\n",
      "Epoch: 2300/20000, Loss: 0.000957\n",
      "Epoch: 2310/20000, Loss: 0.000951\n",
      "Epoch: 2320/20000, Loss: 0.000944\n",
      "Epoch: 2330/20000, Loss: 0.000938\n",
      "Epoch: 2340/20000, Loss: 0.000932\n",
      "Epoch: 2350/20000, Loss: 0.000925\n",
      "Epoch: 2360/20000, Loss: 0.000919\n",
      "Epoch: 2370/20000, Loss: 0.000915\n",
      "Epoch: 2380/20000, Loss: 0.001408\n",
      "Epoch: 2390/20000, Loss: 0.000973\n",
      "Epoch: 2400/20000, Loss: 0.000902\n",
      "Epoch: 2410/20000, Loss: 0.000905\n",
      "Epoch: 2420/20000, Loss: 0.000894\n",
      "Epoch: 2430/20000, Loss: 0.000883\n",
      "Epoch: 2440/20000, Loss: 0.000876\n",
      "Epoch: 2450/20000, Loss: 0.000871\n",
      "Epoch: 2460/20000, Loss: 0.000865\n",
      "Epoch: 2470/20000, Loss: 0.000860\n",
      "Epoch: 2480/20000, Loss: 0.000855\n",
      "Epoch: 2490/20000, Loss: 0.000850\n",
      "Epoch: 2500/20000, Loss: 0.000845\n",
      "Epoch: 2510/20000, Loss: 0.000840\n",
      "Epoch: 2520/20000, Loss: 0.000835\n",
      "Epoch: 2530/20000, Loss: 0.000831\n",
      "Epoch: 2540/20000, Loss: 0.000826\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 2550/20000, Loss: 0.000821\n",
      "Epoch: 2560/20000, Loss: 0.000821\n",
      "Epoch: 2570/20000, Loss: 0.001160\n",
      "Epoch: 2580/20000, Loss: 0.000905\n",
      "Epoch: 2590/20000, Loss: 0.000847\n",
      "Epoch: 2600/20000, Loss: 0.000817\n",
      "Epoch: 2610/20000, Loss: 0.000803\n",
      "Epoch: 2620/20000, Loss: 0.000794\n",
      "Epoch: 2630/20000, Loss: 0.000789\n",
      "Epoch: 2640/20000, Loss: 0.000785\n",
      "Epoch: 2650/20000, Loss: 0.000781\n",
      "Epoch: 2660/20000, Loss: 0.000777\n",
      "Epoch: 2670/20000, Loss: 0.000773\n",
      "Epoch: 2680/20000, Loss: 0.000769\n",
      "Epoch: 2690/20000, Loss: 0.000766\n",
      "Epoch: 2700/20000, Loss: 0.000762\n",
      "Epoch: 2710/20000, Loss: 0.000758\n",
      "Epoch: 2720/20000, Loss: 0.000755\n",
      "Epoch: 2730/20000, Loss: 0.000802\n",
      "Epoch: 2740/20000, Loss: 0.000938\n",
      "Epoch: 2750/20000, Loss: 0.000834\n",
      "Epoch: 2760/20000, Loss: 0.000768\n",
      "Epoch: 2770/20000, Loss: 0.000747\n",
      "Epoch: 2780/20000, Loss: 0.000738\n",
      "Epoch: 2790/20000, Loss: 0.000733\n",
      "Epoch: 2800/20000, Loss: 0.000731\n",
      "Epoch: 2810/20000, Loss: 0.000727\n",
      "Epoch: 2820/20000, Loss: 0.000724\n",
      "Epoch: 2830/20000, Loss: 0.000721\n",
      "Epoch: 2840/20000, Loss: 0.000718\n",
      "Epoch: 2850/20000, Loss: 0.000715\n",
      "Epoch: 2860/20000, Loss: 0.000712\n",
      "Epoch: 2870/20000, Loss: 0.000710\n",
      "Epoch: 2880/20000, Loss: 0.000707\n",
      "Epoch: 2890/20000, Loss: 0.000705\n",
      "Epoch: 2900/20000, Loss: 0.000845\n",
      "Epoch: 2910/20000, Loss: 0.000849\n",
      "Epoch: 2920/20000, Loss: 0.000756\n",
      "Epoch: 2930/20000, Loss: 0.000695\n",
      "Epoch: 2940/20000, Loss: 0.000696\n",
      "Epoch: 2950/20000, Loss: 0.000693\n",
      "Epoch: 2960/20000, Loss: 0.000688\n",
      "Epoch: 2970/20000, Loss: 0.000685\n",
      "Epoch: 2980/20000, Loss: 0.000683\n",
      "Epoch: 2990/20000, Loss: 0.000681\n",
      "Epoch: 3000/20000, Loss: 0.000678\n",
      "Epoch: 3010/20000, Loss: 0.000676\n",
      "Epoch: 3020/20000, Loss: 0.000674\n",
      "Epoch: 3030/20000, Loss: 0.000671\n",
      "Epoch: 3040/20000, Loss: 0.000671\n",
      "Epoch: 3050/20000, Loss: 0.000916\n",
      "Epoch: 3060/20000, Loss: 0.000721\n",
      "Epoch: 3070/20000, Loss: 0.000726\n",
      "Epoch: 3080/20000, Loss: 0.000667\n",
      "Epoch: 3090/20000, Loss: 0.000662\n",
      "Epoch: 3100/20000, Loss: 0.000661\n",
      "Epoch: 3110/20000, Loss: 0.000657\n",
      "Epoch: 3120/20000, Loss: 0.000654\n",
      "Epoch: 3130/20000, Loss: 0.000653\n",
      "Epoch: 3140/20000, Loss: 0.000651\n",
      "Epoch: 3150/20000, Loss: 0.000649\n",
      "Epoch: 3160/20000, Loss: 0.000647\n",
      "Epoch: 3170/20000, Loss: 0.000645\n",
      "Epoch: 3180/20000, Loss: 0.000644\n",
      "Epoch: 3190/20000, Loss: 0.000659\n",
      "Epoch: 3200/20000, Loss: 0.000775\n",
      "Epoch: 3210/20000, Loss: 0.000708\n",
      "Epoch: 3220/20000, Loss: 0.000648\n",
      "Epoch: 3230/20000, Loss: 0.000644\n",
      "Epoch: 3240/20000, Loss: 0.000637\n",
      "Epoch: 3250/20000, Loss: 0.000633\n",
      "Epoch: 3260/20000, Loss: 0.000632\n",
      "Epoch: 3270/20000, Loss: 0.000630\n",
      "Epoch: 3280/20000, Loss: 0.000629\n",
      "Epoch: 3290/20000, Loss: 0.000627\n",
      "Epoch: 3300/20000, Loss: 0.000626\n",
      "Epoch: 3310/20000, Loss: 0.000625\n",
      "Epoch: 3320/20000, Loss: 0.000661\n",
      "Epoch: 3330/20000, Loss: 0.000635\n",
      "Epoch: 3340/20000, Loss: 0.000680\n",
      "Epoch: 3350/20000, Loss: 0.000639\n",
      "Epoch: 3360/20000, Loss: 0.000618\n",
      "Epoch: 3370/20000, Loss: 0.000618\n",
      "Epoch: 3380/20000, Loss: 0.000616\n",
      "Epoch: 3390/20000, Loss: 0.000615\n",
      "Epoch: 3400/20000, Loss: 0.000613\n",
      "Epoch: 3410/20000, Loss: 0.000612\n",
      "Epoch: 3420/20000, Loss: 0.000611\n",
      "Epoch: 3430/20000, Loss: 0.000621\n",
      "Epoch: 3440/20000, Loss: 0.000817\n",
      "Epoch: 3450/20000, Loss: 0.000642\n",
      "Epoch: 3460/20000, Loss: 0.000609\n",
      "Epoch: 3470/20000, Loss: 0.000606\n",
      "Epoch: 3480/20000, Loss: 0.000605\n",
      "Epoch: 3490/20000, Loss: 0.000604\n",
      "Epoch: 3500/20000, Loss: 0.000603\n",
      "Epoch: 3510/20000, Loss: 0.000602\n",
      "Epoch: 3520/20000, Loss: 0.000601\n",
      "Epoch: 3530/20000, Loss: 0.000615\n",
      "Epoch: 3540/20000, Loss: 0.000788\n",
      "Epoch: 3550/20000, Loss: 0.000628\n",
      "Epoch: 3560/20000, Loss: 0.000604\n",
      "Epoch: 3570/20000, Loss: 0.000597\n",
      "Epoch: 3580/20000, Loss: 0.000596\n",
      "Epoch: 3590/20000, Loss: 0.000596\n",
      "Epoch: 3600/20000, Loss: 0.000594\n",
      "Epoch: 3610/20000, Loss: 0.000594\n",
      "Epoch: 3620/20000, Loss: 0.000599\n",
      "Epoch: 3630/20000, Loss: 0.000709\n",
      "Epoch: 3640/20000, Loss: 0.000616\n",
      "Epoch: 3650/20000, Loss: 0.000598\n",
      "Epoch: 3660/20000, Loss: 0.000589\n",
      "Epoch: 3670/20000, Loss: 0.000590\n",
      "Epoch: 3680/20000, Loss: 0.000590\n",
      "Epoch: 3690/20000, Loss: 0.000590\n",
      "Epoch: 3700/20000, Loss: 0.000600\n",
      "Epoch: 3710/20000, Loss: 0.000698\n",
      "Epoch: 3720/20000, Loss: 0.000610\n",
      "Epoch: 3730/20000, Loss: 0.000584\n",
      "Epoch: 3740/20000, Loss: 0.000591\n",
      "Epoch: 3750/20000, Loss: 0.000584\n",
      "Epoch: 3760/20000, Loss: 0.000591\n",
      "Epoch: 3770/20000, Loss: 0.000631\n",
      "Epoch: 3780/20000, Loss: 0.000593\n",
      "Epoch: 3790/20000, Loss: 0.000604\n",
      "Epoch: 3800/20000, Loss: 0.000596\n",
      "Epoch: 3810/20000, Loss: 0.000582\n",
      "Epoch: 3820/20000, Loss: 0.000613\n",
      "Epoch: 3830/20000, Loss: 0.000600\n",
      "Epoch: 3840/20000, Loss: 0.000591\n",
      "Epoch: 3850/20000, Loss: 0.000619\n",
      "Epoch: 3860/20000, Loss: 0.000577\n",
      "Epoch: 3870/20000, Loss: 0.000607\n",
      "Epoch: 3880/20000, Loss: 0.000590\n",
      "Epoch: 3890/20000, Loss: 0.000584\n",
      "Epoch: 3900/20000, Loss: 0.000625\n",
      "Epoch: 3910/20000, Loss: 0.000573\n",
      "Epoch: 3920/20000, Loss: 0.000602\n",
      "Epoch: 3930/20000, Loss: 0.000590\n",
      "Epoch: 3940/20000, Loss: 0.000581\n",
      "Epoch: 3950/20000, Loss: 0.000617\n",
      "Epoch: 3960/20000, Loss: 0.000571\n",
      "Epoch: 3970/20000, Loss: 0.000593\n",
      "Epoch: 3980/20000, Loss: 0.000607\n",
      "Epoch: 3990/20000, Loss: 0.000575\n",
      "Epoch: 4000/20000, Loss: 0.000612\n",
      "Epoch: 4010/20000, Loss: 0.000570\n",
      "Epoch: 4020/20000, Loss: 0.000588\n",
      "Epoch: 4030/20000, Loss: 0.000606\n",
      "Epoch: 4040/20000, Loss: 0.000570\n",
      "Epoch: 4050/20000, Loss: 0.000606\n",
      "Epoch: 4060/20000, Loss: 0.000575\n",
      "Epoch: 4070/20000, Loss: 0.000581\n",
      "Epoch: 4080/20000, Loss: 0.000608\n",
      "Epoch: 4090/20000, Loss: 0.000566\n",
      "Epoch: 4100/20000, Loss: 0.000599\n",
      "Epoch: 4110/20000, Loss: 0.000581\n",
      "Epoch: 4120/20000, Loss: 0.000574\n",
      "Epoch: 4130/20000, Loss: 0.000611\n",
      "Epoch: 4140/20000, Loss: 0.000563\n",
      "Epoch: 4150/20000, Loss: 0.000590\n",
      "Epoch: 4160/20000, Loss: 0.000591\n",
      "Epoch: 4170/20000, Loss: 0.000568\n",
      "Epoch: 4180/20000, Loss: 0.000606\n",
      "Epoch: 4190/20000, Loss: 0.000564\n",
      "Epoch: 4200/20000, Loss: 0.000580\n",
      "Epoch: 4210/20000, Loss: 0.000603\n",
      "Epoch: 4220/20000, Loss: 0.000562\n",
      "Epoch: 4230/20000, Loss: 0.000597\n",
      "Epoch: 4240/20000, Loss: 0.000572\n",
      "Epoch: 4250/20000, Loss: 0.000572\n",
      "Epoch: 4260/20000, Loss: 0.000608\n",
      "Epoch: 4270/20000, Loss: 0.000559\n",
      "Epoch: 4280/20000, Loss: 0.000586\n",
      "Epoch: 4290/20000, Loss: 0.000586\n",
      "Epoch: 4300/20000, Loss: 0.000564\n",
      "Epoch: 4310/20000, Loss: 0.000603\n",
      "Epoch: 4320/20000, Loss: 0.000561\n",
      "Epoch: 4330/20000, Loss: 0.000575\n",
      "Epoch: 4340/20000, Loss: 0.000601\n",
      "Epoch: 4350/20000, Loss: 0.000558\n",
      "Epoch: 4360/20000, Loss: 0.000591\n",
      "Epoch: 4370/20000, Loss: 0.000575\n",
      "Epoch: 4380/20000, Loss: 0.000565\n",
      "Epoch: 4390/20000, Loss: 0.000603\n",
      "Epoch: 4400/20000, Loss: 0.000556\n",
      "Epoch: 4410/20000, Loss: 0.000576\n",
      "Epoch: 4420/20000, Loss: 0.000596\n",
      "Epoch: 4430/20000, Loss: 0.000557\n",
      "Epoch: 4440/20000, Loss: 0.000592\n",
      "Epoch: 4450/20000, Loss: 0.000568\n",
      "Epoch: 4460/20000, Loss: 0.000564\n",
      "Epoch: 4470/20000, Loss: 0.000604\n",
      "Epoch: 4480/20000, Loss: 0.000554\n",
      "Epoch: 4490/20000, Loss: 0.000575\n",
      "Epoch: 4500/20000, Loss: 0.000593\n",
      "Epoch: 4510/20000, Loss: 0.000555\n",
      "Epoch: 4520/20000, Loss: 0.000590\n",
      "Epoch: 4530/20000, Loss: 0.000569\n",
      "Epoch: 4540/20000, Loss: 0.000561\n",
      "Epoch: 4550/20000, Loss: 0.000600\n",
      "Epoch: 4560/20000, Loss: 0.000553\n",
      "Epoch: 4570/20000, Loss: 0.000570\n",
      "Epoch: 4580/20000, Loss: 0.000597\n",
      "Epoch: 4590/20000, Loss: 0.000551\n",
      "Epoch: 4600/20000, Loss: 0.000582\n",
      "Epoch: 4610/20000, Loss: 0.000577\n",
      "Epoch: 4620/20000, Loss: 0.000556\n",
      "Epoch: 4630/20000, Loss: 0.000595\n",
      "Epoch: 4640/20000, Loss: 0.000558\n",
      "Epoch: 4650/20000, Loss: 0.000562\n",
      "Epoch: 4660/20000, Loss: 0.000600\n",
      "Epoch: 4670/20000, Loss: 0.000550\n",
      "Epoch: 4680/20000, Loss: 0.000570\n",
      "Epoch: 4690/20000, Loss: 0.000594\n",
      "Epoch: 4700/20000, Loss: 0.000550\n",
      "Epoch: 4710/20000, Loss: 0.000580\n",
      "Epoch: 4720/20000, Loss: 0.000577\n",
      "Epoch: 4730/20000, Loss: 0.000552\n",
      "Epoch: 4740/20000, Loss: 0.000590\n",
      "Epoch: 4750/20000, Loss: 0.000562\n",
      "Epoch: 4760/20000, Loss: 0.000556\n",
      "Epoch: 4770/20000, Loss: 0.000596\n",
      "Epoch: 4780/20000, Loss: 0.000552\n",
      "Epoch: 4790/20000, Loss: 0.000561\n",
      "Epoch: 4800/20000, Loss: 0.000600\n",
      "Epoch: 4810/20000, Loss: 0.000548\n",
      "Epoch: 4820/20000, Loss: 0.000565\n",
      "Epoch: 4830/20000, Loss: 0.000596\n",
      "Epoch: 4840/20000, Loss: 0.000546\n",
      "Epoch: 4850/20000, Loss: 0.000569\n",
      "Epoch: 4860/20000, Loss: 0.000592\n",
      "Epoch: 4870/20000, Loss: 0.000546\n",
      "Epoch: 4880/20000, Loss: 0.000573\n",
      "Epoch: 4890/20000, Loss: 0.000586\n",
      "Epoch: 4900/20000, Loss: 0.000547\n",
      "Epoch: 4910/20000, Loss: 0.000576\n",
      "Epoch: 4920/20000, Loss: 0.000582\n",
      "Epoch: 4930/20000, Loss: 0.000547\n",
      "Epoch: 4940/20000, Loss: 0.000577\n",
      "Epoch: 4950/20000, Loss: 0.000579\n",
      "Epoch: 4960/20000, Loss: 0.000547\n",
      "Epoch: 4970/20000, Loss: 0.000577\n",
      "Epoch: 4980/20000, Loss: 0.000579\n",
      "Epoch: 4990/20000, Loss: 0.000546\n",
      "Epoch: 5000/20000, Loss: 0.000576\n",
      "Epoch: 5010/20000, Loss: 0.000580\n",
      "Epoch: 5020/20000, Loss: 0.000545\n",
      "Epoch: 5030/20000, Loss: 0.000574\n",
      "Epoch: 5040/20000, Loss: 0.000583\n",
      "Epoch: 5050/20000, Loss: 0.000544\n",
      "Epoch: 5060/20000, Loss: 0.000570\n",
      "Epoch: 5070/20000, Loss: 0.000587\n",
      "Epoch: 5080/20000, Loss: 0.000544\n",
      "Epoch: 5090/20000, Loss: 0.000567\n",
      "Epoch: 5100/20000, Loss: 0.000591\n",
      "Epoch: 5110/20000, Loss: 0.000543\n",
      "Epoch: 5120/20000, Loss: 0.000562\n",
      "Epoch: 5130/20000, Loss: 0.000597\n",
      "Epoch: 5140/20000, Loss: 0.000543\n",
      "Epoch: 5150/20000, Loss: 0.000560\n",
      "Epoch: 5160/20000, Loss: 0.000592\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 5170/20000, Loss: 0.000544\n",
      "Epoch: 5180/20000, Loss: 0.000552\n",
      "Epoch: 5190/20000, Loss: 0.000599\n",
      "Epoch: 5200/20000, Loss: 0.000555\n",
      "Epoch: 5210/20000, Loss: 0.000559\n",
      "Epoch: 5220/20000, Loss: 0.000574\n",
      "Epoch: 5230/20000, Loss: 0.000542\n",
      "Epoch: 5240/20000, Loss: 0.000551\n",
      "Epoch: 5250/20000, Loss: 0.000615\n",
      "Epoch: 5260/20000, Loss: 0.000547\n",
      "Epoch: 5270/20000, Loss: 0.000576\n",
      "Epoch: 5280/20000, Loss: 0.000544\n",
      "Epoch: 5290/20000, Loss: 0.000550\n",
      "Epoch: 5300/20000, Loss: 0.000568\n",
      "Epoch: 5310/20000, Loss: 0.000567\n",
      "Epoch: 5320/20000, Loss: 0.000547\n",
      "Epoch: 5330/20000, Loss: 0.000548\n",
      "Epoch: 5340/20000, Loss: 0.000603\n",
      "Epoch: 5350/20000, Loss: 0.000570\n",
      "Epoch: 5360/20000, Loss: 0.000581\n",
      "Epoch: 5370/20000, Loss: 0.000546\n",
      "Epoch: 5380/20000, Loss: 0.000543\n",
      "Epoch: 5390/20000, Loss: 0.000541\n",
      "Epoch: 5400/20000, Loss: 0.000548\n",
      "Epoch: 5410/20000, Loss: 0.000602\n",
      "Epoch: 5420/20000, Loss: 0.000572\n",
      "Epoch: 5430/20000, Loss: 0.000580\n",
      "Epoch: 5440/20000, Loss: 0.000542\n",
      "Epoch: 5450/20000, Loss: 0.000545\n",
      "Epoch: 5460/20000, Loss: 0.000540\n",
      "Epoch: 5470/20000, Loss: 0.000541\n",
      "Epoch: 5480/20000, Loss: 0.000560\n",
      "Epoch: 5490/20000, Loss: 0.000748\n",
      "Epoch: 5500/20000, Loss: 0.000615\n",
      "Epoch: 5510/20000, Loss: 0.000572\n",
      "Epoch: 5520/20000, Loss: 0.000551\n",
      "Epoch: 5530/20000, Loss: 0.000543\n",
      "Epoch: 5540/20000, Loss: 0.000539\n",
      "Epoch: 5550/20000, Loss: 0.000540\n",
      "Epoch: 5560/20000, Loss: 0.000539\n",
      "Epoch: 5570/20000, Loss: 0.000539\n",
      "Epoch: 5580/20000, Loss: 0.000544\n",
      "Epoch: 5590/20000, Loss: 0.000753\n",
      "Epoch: 5600/20000, Loss: 0.000642\n",
      "Epoch: 5610/20000, Loss: 0.000597\n",
      "Epoch: 5620/20000, Loss: 0.000549\n",
      "Epoch: 5630/20000, Loss: 0.000539\n",
      "Epoch: 5640/20000, Loss: 0.000538\n",
      "Epoch: 5650/20000, Loss: 0.000538\n",
      "Epoch: 5660/20000, Loss: 0.000538\n",
      "Epoch: 5670/20000, Loss: 0.000538\n",
      "Epoch: 5680/20000, Loss: 0.000538\n",
      "Epoch: 5690/20000, Loss: 0.000606\n",
      "Epoch: 5700/20000, Loss: 0.000601\n",
      "Epoch: 5710/20000, Loss: 0.000603\n",
      "Epoch: 5720/20000, Loss: 0.000583\n",
      "Epoch: 5730/20000, Loss: 0.000541\n",
      "Epoch: 5740/20000, Loss: 0.000542\n",
      "Epoch: 5750/20000, Loss: 0.000539\n",
      "Epoch: 5760/20000, Loss: 0.000538\n",
      "Epoch: 5770/20000, Loss: 0.000538\n",
      "Epoch: 5780/20000, Loss: 0.000538\n",
      "Epoch: 5790/20000, Loss: 0.000537\n",
      "Epoch: 5800/20000, Loss: 0.000537\n",
      "Epoch: 5810/20000, Loss: 0.000537\n",
      "Epoch: 5820/20000, Loss: 0.000537\n",
      "Epoch: 5830/20000, Loss: 0.000537\n",
      "Epoch: 5840/20000, Loss: 0.000537\n",
      "Epoch: 5850/20000, Loss: 0.000537\n",
      "Epoch: 5860/20000, Loss: 0.000537\n",
      "Epoch: 5870/20000, Loss: 0.000537\n",
      "Epoch: 5880/20000, Loss: 0.000568\n",
      "Epoch: 5890/20000, Loss: 0.000699\n",
      "Epoch: 5900/20000, Loss: 0.000636\n",
      "Epoch: 5910/20000, Loss: 0.000537\n",
      "Epoch: 5920/20000, Loss: 0.000435\n",
      "Epoch: 5930/20000, Loss: 0.000373\n",
      "Epoch: 5940/20000, Loss: 0.000344\n",
      "Epoch: 5950/20000, Loss: 0.000324\n",
      "Epoch: 5960/20000, Loss: 0.000307\n",
      "Epoch: 5970/20000, Loss: 0.000292\n",
      "Epoch: 5980/20000, Loss: 0.000281\n",
      "Epoch: 5990/20000, Loss: 0.000285\n",
      "Epoch: 6000/20000, Loss: 0.000669\n",
      "Epoch: 6010/20000, Loss: 0.000258\n",
      "Epoch: 6020/20000, Loss: 0.000280\n",
      "Epoch: 6030/20000, Loss: 0.000252\n",
      "Epoch: 6040/20000, Loss: 0.000232\n",
      "Epoch: 6050/20000, Loss: 0.000226\n",
      "Epoch: 6060/20000, Loss: 0.000220\n",
      "Epoch: 6070/20000, Loss: 0.000219\n",
      "Epoch: 6080/20000, Loss: 0.000214\n",
      "Epoch: 6090/20000, Loss: 0.000206\n",
      "Epoch: 6100/20000, Loss: 0.000202\n",
      "Epoch: 6110/20000, Loss: 0.000250\n",
      "Epoch: 6120/20000, Loss: 0.000257\n",
      "Epoch: 6130/20000, Loss: 0.000257\n",
      "Epoch: 6140/20000, Loss: 0.000219\n",
      "Epoch: 6150/20000, Loss: 0.000186\n",
      "Epoch: 6160/20000, Loss: 0.000186\n",
      "Epoch: 6170/20000, Loss: 0.000182\n",
      "Epoch: 6180/20000, Loss: 0.000178\n",
      "Epoch: 6190/20000, Loss: 0.000176\n",
      "Epoch: 6200/20000, Loss: 0.000182\n",
      "Epoch: 6210/20000, Loss: 0.000202\n",
      "Epoch: 6220/20000, Loss: 0.000180\n",
      "Epoch: 6230/20000, Loss: 0.000169\n",
      "Epoch: 6240/20000, Loss: 0.000186\n",
      "Epoch: 6250/20000, Loss: 0.000388\n",
      "Epoch: 6260/20000, Loss: 0.000233\n",
      "Epoch: 6270/20000, Loss: 0.000190\n",
      "Epoch: 6280/20000, Loss: 0.000171\n",
      "Epoch: 6290/20000, Loss: 0.000163\n",
      "Epoch: 6300/20000, Loss: 0.000156\n",
      "Epoch: 6310/20000, Loss: 0.000158\n",
      "Epoch: 6320/20000, Loss: 0.000187\n",
      "Epoch: 6330/20000, Loss: 0.000250\n",
      "Epoch: 6340/20000, Loss: 0.000195\n",
      "Epoch: 6350/20000, Loss: 0.000152\n",
      "Epoch: 6360/20000, Loss: 0.000158\n",
      "Epoch: 6370/20000, Loss: 0.000148\n",
      "Epoch: 6380/20000, Loss: 0.000147\n",
      "Epoch: 6390/20000, Loss: 0.000163\n",
      "Epoch: 6400/20000, Loss: 0.000497\n",
      "Epoch: 6410/20000, Loss: 0.000165\n",
      "Epoch: 6420/20000, Loss: 0.000153\n",
      "Epoch: 6430/20000, Loss: 0.000158\n",
      "Epoch: 6440/20000, Loss: 0.000148\n",
      "Epoch: 6450/20000, Loss: 0.000143\n",
      "Epoch: 6460/20000, Loss: 0.000142\n",
      "Epoch: 6470/20000, Loss: 0.000140\n",
      "Epoch: 6480/20000, Loss: 0.000139\n",
      "Epoch: 6490/20000, Loss: 0.000138\n",
      "Epoch: 6500/20000, Loss: 0.000138\n",
      "Epoch: 6510/20000, Loss: 0.000138\n",
      "Epoch: 6520/20000, Loss: 0.000487\n",
      "Epoch: 6530/20000, Loss: 0.000341\n",
      "Epoch: 6540/20000, Loss: 0.000169\n",
      "Epoch: 6550/20000, Loss: 0.000147\n",
      "Epoch: 6560/20000, Loss: 0.000144\n",
      "Epoch: 6570/20000, Loss: 0.000135\n",
      "Epoch: 6580/20000, Loss: 0.000134\n",
      "Epoch: 6590/20000, Loss: 0.000134\n",
      "Epoch: 6600/20000, Loss: 0.000133\n",
      "Epoch: 6610/20000, Loss: 0.000132\n",
      "Epoch: 6620/20000, Loss: 0.000131\n",
      "Epoch: 6630/20000, Loss: 0.000131\n",
      "Epoch: 6640/20000, Loss: 0.000130\n",
      "Epoch: 6650/20000, Loss: 0.000130\n",
      "Epoch: 6660/20000, Loss: 0.000133\n",
      "Epoch: 6670/20000, Loss: 0.000397\n",
      "Epoch: 6680/20000, Loss: 0.000271\n",
      "Epoch: 6690/20000, Loss: 0.000156\n",
      "Epoch: 6700/20000, Loss: 0.000128\n",
      "Epoch: 6710/20000, Loss: 0.000131\n",
      "Epoch: 6720/20000, Loss: 0.000130\n",
      "Epoch: 6730/20000, Loss: 0.000128\n",
      "Epoch: 6740/20000, Loss: 0.000127\n",
      "Epoch: 6750/20000, Loss: 0.000126\n",
      "Epoch: 6760/20000, Loss: 0.000126\n",
      "Epoch: 6770/20000, Loss: 0.000126\n",
      "Epoch: 6780/20000, Loss: 0.000134\n",
      "Epoch: 6790/20000, Loss: 0.000438\n",
      "Epoch: 6800/20000, Loss: 0.000242\n",
      "Epoch: 6810/20000, Loss: 0.000150\n",
      "Epoch: 6820/20000, Loss: 0.000125\n",
      "Epoch: 6830/20000, Loss: 0.000124\n",
      "Epoch: 6840/20000, Loss: 0.000123\n",
      "Epoch: 6850/20000, Loss: 0.000123\n",
      "Epoch: 6860/20000, Loss: 0.000123\n",
      "Epoch: 6870/20000, Loss: 0.000122\n",
      "Epoch: 6880/20000, Loss: 0.000122\n",
      "Epoch: 6890/20000, Loss: 0.000124\n",
      "Epoch: 6900/20000, Loss: 0.000219\n",
      "Epoch: 6910/20000, Loss: 0.000124\n",
      "Epoch: 6920/20000, Loss: 0.000180\n",
      "Epoch: 6930/20000, Loss: 0.000148\n",
      "Epoch: 6940/20000, Loss: 0.000125\n",
      "Epoch: 6950/20000, Loss: 0.000121\n",
      "Epoch: 6960/20000, Loss: 0.000120\n",
      "Epoch: 6970/20000, Loss: 0.000120\n",
      "Epoch: 6980/20000, Loss: 0.000120\n",
      "Epoch: 6990/20000, Loss: 0.000119\n",
      "Epoch: 7000/20000, Loss: 0.000119\n",
      "Epoch: 7010/20000, Loss: 0.000120\n",
      "Epoch: 7020/20000, Loss: 0.000157\n",
      "Epoch: 7030/20000, Loss: 0.000303\n",
      "Epoch: 7040/20000, Loss: 0.000120\n",
      "Epoch: 7050/20000, Loss: 0.000141\n",
      "Epoch: 7060/20000, Loss: 0.000132\n",
      "Epoch: 7070/20000, Loss: 0.000122\n",
      "Epoch: 7080/20000, Loss: 0.000119\n",
      "Epoch: 7090/20000, Loss: 0.000118\n",
      "Epoch: 7100/20000, Loss: 0.000118\n",
      "Epoch: 7110/20000, Loss: 0.000117\n",
      "Epoch: 7120/20000, Loss: 0.000117\n",
      "Epoch: 7130/20000, Loss: 0.000117\n",
      "Epoch: 7140/20000, Loss: 0.000130\n",
      "Epoch: 7150/20000, Loss: 0.000468\n",
      "Epoch: 7160/20000, Loss: 0.000223\n",
      "Epoch: 7170/20000, Loss: 0.000127\n",
      "Epoch: 7180/20000, Loss: 0.000116\n",
      "Epoch: 7190/20000, Loss: 0.000117\n",
      "Epoch: 7200/20000, Loss: 0.000116\n",
      "Epoch: 7210/20000, Loss: 0.000115\n",
      "Epoch: 7220/20000, Loss: 0.000115\n",
      "Epoch: 7230/20000, Loss: 0.000115\n",
      "Epoch: 7240/20000, Loss: 0.000115\n",
      "Epoch: 7250/20000, Loss: 0.000116\n",
      "Epoch: 7260/20000, Loss: 0.000146\n",
      "Epoch: 7270/20000, Loss: 0.000366\n",
      "Epoch: 7280/20000, Loss: 0.000141\n",
      "Epoch: 7290/20000, Loss: 0.000114\n",
      "Epoch: 7300/20000, Loss: 0.000115\n",
      "Epoch: 7310/20000, Loss: 0.000114\n",
      "Epoch: 7320/20000, Loss: 0.000113\n",
      "Epoch: 7330/20000, Loss: 0.000114\n",
      "Epoch: 7340/20000, Loss: 0.000113\n",
      "Epoch: 7350/20000, Loss: 0.000113\n",
      "Epoch: 7360/20000, Loss: 0.000113\n",
      "Epoch: 7370/20000, Loss: 0.000118\n",
      "Epoch: 7380/20000, Loss: 0.000322\n",
      "Epoch: 7390/20000, Loss: 0.000203\n",
      "Epoch: 7400/20000, Loss: 0.000174\n",
      "Epoch: 7410/20000, Loss: 0.000123\n",
      "Epoch: 7420/20000, Loss: 0.000113\n",
      "Epoch: 7430/20000, Loss: 0.000112\n",
      "Epoch: 7440/20000, Loss: 0.000112\n",
      "Epoch: 7450/20000, Loss: 0.000112\n",
      "Epoch: 7460/20000, Loss: 0.000112\n",
      "Epoch: 7470/20000, Loss: 0.000111\n",
      "Epoch: 7480/20000, Loss: 0.000111\n",
      "Epoch: 7490/20000, Loss: 0.000111\n",
      "Epoch: 7500/20000, Loss: 0.000114\n",
      "Epoch: 7510/20000, Loss: 0.000411\n",
      "Epoch: 7520/20000, Loss: 0.000329\n",
      "Epoch: 7530/20000, Loss: 0.000112\n",
      "Epoch: 7540/20000, Loss: 0.000140\n",
      "Epoch: 7550/20000, Loss: 0.000112\n",
      "Epoch: 7560/20000, Loss: 0.000113\n",
      "Epoch: 7570/20000, Loss: 0.000112\n",
      "Epoch: 7580/20000, Loss: 0.000110\n",
      "Epoch: 7590/20000, Loss: 0.000110\n",
      "Epoch: 7600/20000, Loss: 0.000110\n",
      "Epoch: 7610/20000, Loss: 0.000110\n",
      "Epoch: 7620/20000, Loss: 0.000110\n",
      "Epoch: 7630/20000, Loss: 0.000109\n",
      "Epoch: 7640/20000, Loss: 0.000109\n",
      "Epoch: 7650/20000, Loss: 0.000109\n",
      "Epoch: 7660/20000, Loss: 0.000120\n",
      "Epoch: 7670/20000, Loss: 0.000591\n",
      "Epoch: 7680/20000, Loss: 0.000190\n",
      "Epoch: 7690/20000, Loss: 0.000130\n",
      "Epoch: 7700/20000, Loss: 0.000130\n",
      "Epoch: 7710/20000, Loss: 0.000110\n",
      "Epoch: 7720/20000, Loss: 0.000109\n",
      "Epoch: 7730/20000, Loss: 0.000109\n",
      "Epoch: 7740/20000, Loss: 0.000109\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 7750/20000, Loss: 0.000108\n",
      "Epoch: 7760/20000, Loss: 0.000108\n",
      "Epoch: 7770/20000, Loss: 0.000108\n",
      "Epoch: 7780/20000, Loss: 0.000108\n",
      "Epoch: 7790/20000, Loss: 0.000108\n",
      "Epoch: 7800/20000, Loss: 0.000108\n",
      "Epoch: 7810/20000, Loss: 0.000126\n",
      "Epoch: 7820/20000, Loss: 0.000557\n",
      "Epoch: 7830/20000, Loss: 0.000123\n",
      "Epoch: 7840/20000, Loss: 0.000142\n",
      "Epoch: 7850/20000, Loss: 0.000124\n",
      "Epoch: 7860/20000, Loss: 0.000108\n",
      "Epoch: 7870/20000, Loss: 0.000108\n",
      "Epoch: 7880/20000, Loss: 0.000108\n",
      "Epoch: 7890/20000, Loss: 0.000107\n",
      "Epoch: 7900/20000, Loss: 0.000107\n",
      "Epoch: 7910/20000, Loss: 0.000107\n",
      "Epoch: 7920/20000, Loss: 0.000107\n",
      "Epoch: 7930/20000, Loss: 0.000107\n",
      "Epoch: 7940/20000, Loss: 0.000107\n",
      "Epoch: 7950/20000, Loss: 0.000112\n",
      "Epoch: 7960/20000, Loss: 0.000376\n",
      "Epoch: 7970/20000, Loss: 0.000253\n",
      "Epoch: 7980/20000, Loss: 0.000143\n",
      "Epoch: 7990/20000, Loss: 0.000107\n",
      "Epoch: 8000/20000, Loss: 0.000110\n",
      "Epoch: 8010/20000, Loss: 0.000109\n",
      "Epoch: 8020/20000, Loss: 0.000107\n",
      "Epoch: 8030/20000, Loss: 0.000106\n",
      "Epoch: 8040/20000, Loss: 0.000106\n",
      "Epoch: 8050/20000, Loss: 0.000106\n",
      "Epoch: 8060/20000, Loss: 0.000105\n",
      "Epoch: 8070/20000, Loss: 0.000105\n",
      "Epoch: 8080/20000, Loss: 0.000106\n",
      "Epoch: 8090/20000, Loss: 0.000131\n",
      "Epoch: 8100/20000, Loss: 0.000468\n",
      "Epoch: 8110/20000, Loss: 0.000109\n",
      "Epoch: 8120/20000, Loss: 0.000143\n",
      "Epoch: 8130/20000, Loss: 0.000120\n",
      "Epoch: 8140/20000, Loss: 0.000106\n",
      "Epoch: 8150/20000, Loss: 0.000105\n",
      "Epoch: 8160/20000, Loss: 0.000105\n",
      "Epoch: 8170/20000, Loss: 0.000105\n",
      "Epoch: 8180/20000, Loss: 0.000105\n",
      "Epoch: 8190/20000, Loss: 0.000104\n",
      "Epoch: 8200/20000, Loss: 0.000104\n",
      "Epoch: 8210/20000, Loss: 0.000104\n",
      "Epoch: 8220/20000, Loss: 0.000104\n",
      "Epoch: 8230/20000, Loss: 0.000108\n",
      "Epoch: 8240/20000, Loss: 0.000398\n",
      "Epoch: 8250/20000, Loss: 0.000286\n",
      "Epoch: 8260/20000, Loss: 0.000116\n",
      "Epoch: 8270/20000, Loss: 0.000118\n",
      "Epoch: 8280/20000, Loss: 0.000114\n",
      "Epoch: 8290/20000, Loss: 0.000105\n",
      "Epoch: 8300/20000, Loss: 0.000104\n",
      "Epoch: 8310/20000, Loss: 0.000104\n",
      "Epoch: 8320/20000, Loss: 0.000103\n",
      "Epoch: 8330/20000, Loss: 0.000103\n",
      "Epoch: 8340/20000, Loss: 0.000103\n",
      "Epoch: 8350/20000, Loss: 0.000103\n",
      "Epoch: 8360/20000, Loss: 0.000103\n",
      "Epoch: 8370/20000, Loss: 0.000103\n",
      "Epoch: 8380/20000, Loss: 0.000104\n",
      "Epoch: 8390/20000, Loss: 0.000235\n",
      "Epoch: 8400/20000, Loss: 0.000155\n",
      "Epoch: 8410/20000, Loss: 0.000171\n",
      "Epoch: 8420/20000, Loss: 0.000115\n",
      "Epoch: 8430/20000, Loss: 0.000115\n",
      "Epoch: 8440/20000, Loss: 0.000103\n",
      "Epoch: 8450/20000, Loss: 0.000104\n",
      "Epoch: 8460/20000, Loss: 0.000103\n",
      "Epoch: 8470/20000, Loss: 0.000103\n",
      "Epoch: 8480/20000, Loss: 0.000103\n",
      "Epoch: 8490/20000, Loss: 0.000102\n",
      "Epoch: 8500/20000, Loss: 0.000104\n",
      "Epoch: 8510/20000, Loss: 0.000109\n",
      "Epoch: 8520/20000, Loss: 0.000103\n",
      "Epoch: 8530/20000, Loss: 0.000102\n",
      "Epoch: 8540/20000, Loss: 0.000107\n",
      "Epoch: 8550/20000, Loss: 0.000263\n",
      "Epoch: 8560/20000, Loss: 0.000122\n",
      "Epoch: 8570/20000, Loss: 0.000144\n",
      "Epoch: 8580/20000, Loss: 0.000122\n",
      "Epoch: 8590/20000, Loss: 0.000110\n",
      "Epoch: 8600/20000, Loss: 0.000104\n",
      "Epoch: 8610/20000, Loss: 0.000102\n",
      "Epoch: 8620/20000, Loss: 0.000102\n",
      "Epoch: 8630/20000, Loss: 0.000101\n",
      "Epoch: 8640/20000, Loss: 0.000102\n",
      "Epoch: 8650/20000, Loss: 0.000152\n",
      "Epoch: 8660/20000, Loss: 0.000216\n",
      "Epoch: 8670/20000, Loss: 0.000124\n",
      "Epoch: 8680/20000, Loss: 0.000111\n",
      "Epoch: 8690/20000, Loss: 0.000109\n",
      "Epoch: 8700/20000, Loss: 0.000105\n",
      "Epoch: 8710/20000, Loss: 0.000101\n",
      "Epoch: 8720/20000, Loss: 0.000102\n",
      "Epoch: 8730/20000, Loss: 0.000102\n",
      "Epoch: 8740/20000, Loss: 0.000106\n",
      "Epoch: 8750/20000, Loss: 0.000215\n",
      "Epoch: 8760/20000, Loss: 0.000105\n",
      "Epoch: 8770/20000, Loss: 0.000103\n",
      "Epoch: 8780/20000, Loss: 0.000101\n",
      "Epoch: 8790/20000, Loss: 0.000103\n",
      "Epoch: 8800/20000, Loss: 0.000106\n",
      "Epoch: 8810/20000, Loss: 0.000101\n",
      "Epoch: 8820/20000, Loss: 0.000100\n",
      "Epoch: 8830/20000, Loss: 0.000115\n",
      "Epoch: 8840/20000, Loss: 0.000231\n",
      "Epoch: 8850/20000, Loss: 0.000111\n",
      "Epoch: 8860/20000, Loss: 0.000105\n",
      "Epoch: 8870/20000, Loss: 0.000111\n",
      "Epoch: 8880/20000, Loss: 0.000110\n",
      "Epoch: 8890/20000, Loss: 0.000105\n",
      "Epoch: 8900/20000, Loss: 0.000113\n",
      "Epoch: 8910/20000, Loss: 0.000223\n",
      "Epoch: 8920/20000, Loss: 0.000100\n",
      "Epoch: 8930/20000, Loss: 0.000110\n",
      "Epoch: 8940/20000, Loss: 0.000114\n",
      "Epoch: 8950/20000, Loss: 0.000100\n",
      "Epoch: 8960/20000, Loss: 0.000099\n",
      "Epoch: 8970/20000, Loss: 0.000105\n",
      "Epoch: 8980/20000, Loss: 0.000193\n",
      "Epoch: 8990/20000, Loss: 0.000114\n",
      "Epoch: 9000/20000, Loss: 0.000113\n",
      "Epoch: 9010/20000, Loss: 0.000117\n",
      "Epoch: 9020/20000, Loss: 0.000101\n",
      "Epoch: 9030/20000, Loss: 0.000101\n",
      "Epoch: 9040/20000, Loss: 0.000098\n",
      "Epoch: 9050/20000, Loss: 0.000098\n",
      "Epoch: 9060/20000, Loss: 0.000112\n",
      "Epoch: 9070/20000, Loss: 0.000398\n",
      "Epoch: 9080/20000, Loss: 0.000209\n",
      "Epoch: 9090/20000, Loss: 0.000135\n",
      "Epoch: 9100/20000, Loss: 0.000110\n",
      "Epoch: 9110/20000, Loss: 0.000103\n",
      "Epoch: 9120/20000, Loss: 0.000099\n",
      "Epoch: 9130/20000, Loss: 0.000097\n",
      "Epoch: 9140/20000, Loss: 0.000097\n",
      "Epoch: 9150/20000, Loss: 0.000096\n",
      "Epoch: 9160/20000, Loss: 0.000096\n",
      "Epoch: 9170/20000, Loss: 0.000097\n",
      "Epoch: 9180/20000, Loss: 0.000126\n",
      "Epoch: 9190/20000, Loss: 0.000426\n",
      "Epoch: 9200/20000, Loss: 0.000110\n",
      "Epoch: 9210/20000, Loss: 0.000147\n",
      "Epoch: 9220/20000, Loss: 0.000100\n",
      "Epoch: 9230/20000, Loss: 0.000097\n",
      "Epoch: 9240/20000, Loss: 0.000097\n",
      "Epoch: 9250/20000, Loss: 0.000096\n",
      "Epoch: 9260/20000, Loss: 0.000095\n",
      "Epoch: 9270/20000, Loss: 0.000095\n",
      "Epoch: 9280/20000, Loss: 0.000095\n",
      "Epoch: 9290/20000, Loss: 0.000095\n",
      "Epoch: 9300/20000, Loss: 0.000094\n",
      "Epoch: 9310/20000, Loss: 0.000094\n",
      "Epoch: 9320/20000, Loss: 0.000094\n",
      "Epoch: 9330/20000, Loss: 0.000099\n",
      "Epoch: 9340/20000, Loss: 0.000531\n",
      "Epoch: 9350/20000, Loss: 0.000269\n",
      "Epoch: 9360/20000, Loss: 0.000120\n",
      "Epoch: 9370/20000, Loss: 0.000118\n",
      "Epoch: 9380/20000, Loss: 0.000093\n",
      "Epoch: 9390/20000, Loss: 0.000096\n",
      "Epoch: 9400/20000, Loss: 0.000094\n",
      "Epoch: 9410/20000, Loss: 0.000093\n",
      "Epoch: 9420/20000, Loss: 0.000092\n",
      "Epoch: 9430/20000, Loss: 0.000092\n",
      "Epoch: 9440/20000, Loss: 0.000092\n",
      "Epoch: 9450/20000, Loss: 0.000091\n",
      "Epoch: 9460/20000, Loss: 0.000091\n",
      "Epoch: 9470/20000, Loss: 0.000091\n",
      "Epoch: 9480/20000, Loss: 0.000091\n",
      "Epoch: 9490/20000, Loss: 0.000091\n",
      "Epoch: 9500/20000, Loss: 0.000098\n",
      "Epoch: 9510/20000, Loss: 0.000621\n",
      "Epoch: 9520/20000, Loss: 0.000193\n",
      "Epoch: 9530/20000, Loss: 0.000154\n",
      "Epoch: 9540/20000, Loss: 0.000096\n",
      "Epoch: 9550/20000, Loss: 0.000096\n",
      "Epoch: 9560/20000, Loss: 0.000091\n",
      "Epoch: 9570/20000, Loss: 0.000089\n",
      "Epoch: 9580/20000, Loss: 0.000089\n",
      "Epoch: 9590/20000, Loss: 0.000089\n",
      "Epoch: 9600/20000, Loss: 0.000088\n",
      "Epoch: 9610/20000, Loss: 0.000088\n",
      "Epoch: 9620/20000, Loss: 0.000088\n",
      "Epoch: 9630/20000, Loss: 0.000088\n",
      "Epoch: 9640/20000, Loss: 0.000087\n",
      "Epoch: 9650/20000, Loss: 0.000087\n",
      "Epoch: 9660/20000, Loss: 0.000087\n",
      "Epoch: 9670/20000, Loss: 0.000088\n",
      "Epoch: 9680/20000, Loss: 0.000188\n",
      "Epoch: 9690/20000, Loss: 0.000091\n",
      "Epoch: 9700/20000, Loss: 0.000192\n",
      "Epoch: 9710/20000, Loss: 0.000089\n",
      "Epoch: 9720/20000, Loss: 0.000098\n",
      "Epoch: 9730/20000, Loss: 0.000090\n",
      "Epoch: 9740/20000, Loss: 0.000085\n",
      "Epoch: 9750/20000, Loss: 0.000085\n",
      "Epoch: 9760/20000, Loss: 0.000085\n",
      "Epoch: 9770/20000, Loss: 0.000084\n",
      "Epoch: 9780/20000, Loss: 0.000084\n",
      "Epoch: 9790/20000, Loss: 0.000084\n",
      "Epoch: 9800/20000, Loss: 0.000084\n",
      "Epoch: 9810/20000, Loss: 0.000084\n",
      "Epoch: 9820/20000, Loss: 0.000084\n",
      "Epoch: 9830/20000, Loss: 0.000084\n",
      "Epoch: 9840/20000, Loss: 0.000163\n",
      "Epoch: 9850/20000, Loss: 0.000103\n",
      "Epoch: 9860/20000, Loss: 0.000188\n",
      "Epoch: 9870/20000, Loss: 0.000092\n",
      "Epoch: 9880/20000, Loss: 0.000088\n",
      "Epoch: 9890/20000, Loss: 0.000088\n",
      "Epoch: 9900/20000, Loss: 0.000083\n",
      "Epoch: 9910/20000, Loss: 0.000082\n",
      "Epoch: 9920/20000, Loss: 0.000082\n",
      "Epoch: 9930/20000, Loss: 0.000082\n",
      "Epoch: 9940/20000, Loss: 0.000082\n",
      "Epoch: 9950/20000, Loss: 0.000082\n",
      "Epoch: 9960/20000, Loss: 0.000081\n",
      "Epoch: 9970/20000, Loss: 0.000081\n",
      "Epoch: 9980/20000, Loss: 0.000081\n",
      "Epoch: 9990/20000, Loss: 0.000096\n",
      "Epoch: 10000/20000, Loss: 0.000538\n",
      "Epoch: 10010/20000, Loss: 0.000158\n",
      "Epoch: 10020/20000, Loss: 0.000092\n",
      "Epoch: 10030/20000, Loss: 0.000101\n",
      "Epoch: 10040/20000, Loss: 0.000087\n",
      "Epoch: 10050/20000, Loss: 0.000081\n",
      "Epoch: 10060/20000, Loss: 0.000080\n",
      "Epoch: 10070/20000, Loss: 0.000080\n",
      "Epoch: 10080/20000, Loss: 0.000080\n",
      "Epoch: 10090/20000, Loss: 0.000080\n",
      "Epoch: 10100/20000, Loss: 0.000080\n",
      "Epoch: 10110/20000, Loss: 0.000080\n",
      "Epoch: 10120/20000, Loss: 0.000080\n",
      "Epoch: 10130/20000, Loss: 0.000079\n",
      "Epoch: 10140/20000, Loss: 0.000080\n",
      "Epoch: 10150/20000, Loss: 0.000150\n",
      "Epoch: 10160/20000, Loss: 0.000088\n",
      "Epoch: 10170/20000, Loss: 0.000137\n",
      "Epoch: 10180/20000, Loss: 0.000139\n",
      "Epoch: 10190/20000, Loss: 0.000088\n",
      "Epoch: 10200/20000, Loss: 0.000081\n",
      "Epoch: 10210/20000, Loss: 0.000082\n",
      "Epoch: 10220/20000, Loss: 0.000079\n",
      "Epoch: 10230/20000, Loss: 0.000079\n",
      "Epoch: 10240/20000, Loss: 0.000079\n",
      "Epoch: 10250/20000, Loss: 0.000078\n",
      "Epoch: 10260/20000, Loss: 0.000078\n",
      "Epoch: 10270/20000, Loss: 0.000078\n",
      "Epoch: 10280/20000, Loss: 0.000078\n",
      "Epoch: 10290/20000, Loss: 0.000078\n",
      "Epoch: 10300/20000, Loss: 0.000078\n",
      "Epoch: 10310/20000, Loss: 0.000078\n",
      "Epoch: 10320/20000, Loss: 0.000078\n",
      "Epoch: 10330/20000, Loss: 0.000078\n",
      "Epoch: 10340/20000, Loss: 0.000078\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 10350/20000, Loss: 0.000080\n",
      "Epoch: 10360/20000, Loss: 0.000463\n",
      "Epoch: 10370/20000, Loss: 0.000343\n",
      "Epoch: 10380/20000, Loss: 0.000151\n",
      "Epoch: 10390/20000, Loss: 0.000080\n",
      "Epoch: 10400/20000, Loss: 0.000091\n",
      "Epoch: 10410/20000, Loss: 0.000077\n",
      "Epoch: 10420/20000, Loss: 0.000079\n",
      "Epoch: 10430/20000, Loss: 0.000077\n",
      "Epoch: 10440/20000, Loss: 0.000077\n",
      "Epoch: 10450/20000, Loss: 0.000077\n",
      "Epoch: 10460/20000, Loss: 0.000077\n",
      "Epoch: 10470/20000, Loss: 0.000077\n",
      "Epoch: 10480/20000, Loss: 0.000077\n",
      "Epoch: 10490/20000, Loss: 0.000077\n",
      "Epoch: 10500/20000, Loss: 0.000076\n",
      "Epoch: 10510/20000, Loss: 0.000076\n",
      "Epoch: 10520/20000, Loss: 0.000076\n",
      "Epoch: 10530/20000, Loss: 0.000076\n",
      "Epoch: 10540/20000, Loss: 0.000079\n",
      "Epoch: 10550/20000, Loss: 0.000345\n",
      "Epoch: 10560/20000, Loss: 0.000327\n",
      "Epoch: 10570/20000, Loss: 0.000085\n",
      "Epoch: 10580/20000, Loss: 0.000109\n",
      "Epoch: 10590/20000, Loss: 0.000078\n",
      "Epoch: 10600/20000, Loss: 0.000081\n",
      "Epoch: 10610/20000, Loss: 0.000076\n",
      "Epoch: 10620/20000, Loss: 0.000076\n",
      "Epoch: 10630/20000, Loss: 0.000076\n",
      "Epoch: 10640/20000, Loss: 0.000076\n",
      "Epoch: 10650/20000, Loss: 0.000076\n",
      "Epoch: 10660/20000, Loss: 0.000076\n",
      "Epoch: 10670/20000, Loss: 0.000075\n",
      "Epoch: 10680/20000, Loss: 0.000075\n",
      "Epoch: 10690/20000, Loss: 0.000075\n",
      "Epoch: 10700/20000, Loss: 0.000075\n",
      "Epoch: 10710/20000, Loss: 0.000075\n",
      "Epoch: 10720/20000, Loss: 0.000076\n",
      "Epoch: 10730/20000, Loss: 0.000181\n",
      "Epoch: 10740/20000, Loss: 0.000114\n",
      "Epoch: 10750/20000, Loss: 0.000114\n",
      "Epoch: 10760/20000, Loss: 0.000125\n",
      "Epoch: 10770/20000, Loss: 0.000075\n",
      "Epoch: 10780/20000, Loss: 0.000082\n",
      "Epoch: 10790/20000, Loss: 0.000075\n",
      "Epoch: 10800/20000, Loss: 0.000075\n",
      "Epoch: 10810/20000, Loss: 0.000075\n",
      "Epoch: 10820/20000, Loss: 0.000075\n",
      "Epoch: 10830/20000, Loss: 0.000075\n",
      "Epoch: 10840/20000, Loss: 0.000074\n",
      "Epoch: 10850/20000, Loss: 0.000074\n",
      "Epoch: 10860/20000, Loss: 0.000074\n",
      "Epoch: 10870/20000, Loss: 0.000074\n",
      "Epoch: 10880/20000, Loss: 0.000074\n",
      "Epoch: 10890/20000, Loss: 0.000074\n",
      "Epoch: 10900/20000, Loss: 0.000074\n",
      "Epoch: 10910/20000, Loss: 0.000078\n",
      "Epoch: 10920/20000, Loss: 0.000511\n",
      "Epoch: 10930/20000, Loss: 0.000283\n",
      "Epoch: 10940/20000, Loss: 0.000134\n",
      "Epoch: 10950/20000, Loss: 0.000083\n",
      "Epoch: 10960/20000, Loss: 0.000082\n",
      "Epoch: 10970/20000, Loss: 0.000076\n",
      "Epoch: 10980/20000, Loss: 0.000074\n",
      "Epoch: 10990/20000, Loss: 0.000074\n",
      "Epoch: 11000/20000, Loss: 0.000074\n",
      "Epoch: 11010/20000, Loss: 0.000074\n",
      "Epoch: 11020/20000, Loss: 0.000073\n",
      "Epoch: 11030/20000, Loss: 0.000073\n",
      "Epoch: 11040/20000, Loss: 0.000073\n",
      "Epoch: 11050/20000, Loss: 0.000073\n",
      "Epoch: 11060/20000, Loss: 0.000073\n",
      "Epoch: 11070/20000, Loss: 0.000073\n",
      "Epoch: 11080/20000, Loss: 0.000073\n",
      "Epoch: 11090/20000, Loss: 0.000091\n",
      "Epoch: 11100/20000, Loss: 0.000613\n",
      "Epoch: 11110/20000, Loss: 0.000090\n",
      "Epoch: 11120/20000, Loss: 0.000122\n",
      "Epoch: 11130/20000, Loss: 0.000076\n",
      "Epoch: 11140/20000, Loss: 0.000082\n",
      "Epoch: 11150/20000, Loss: 0.000073\n",
      "Epoch: 11160/20000, Loss: 0.000073\n",
      "Epoch: 11170/20000, Loss: 0.000073\n",
      "Epoch: 11180/20000, Loss: 0.000074\n",
      "Epoch: 11190/20000, Loss: 0.000073\n",
      "Epoch: 11200/20000, Loss: 0.000073\n",
      "Epoch: 11210/20000, Loss: 0.000072\n",
      "Epoch: 11220/20000, Loss: 0.000072\n",
      "Epoch: 11230/20000, Loss: 0.000072\n",
      "Epoch: 11240/20000, Loss: 0.000072\n",
      "Epoch: 11250/20000, Loss: 0.000074\n",
      "Epoch: 11260/20000, Loss: 0.000224\n",
      "Epoch: 11270/20000, Loss: 0.000141\n",
      "Epoch: 11280/20000, Loss: 0.000126\n",
      "Epoch: 11290/20000, Loss: 0.000082\n",
      "Epoch: 11300/20000, Loss: 0.000086\n",
      "Epoch: 11310/20000, Loss: 0.000074\n",
      "Epoch: 11320/20000, Loss: 0.000072\n",
      "Epoch: 11330/20000, Loss: 0.000072\n",
      "Epoch: 11340/20000, Loss: 0.000072\n",
      "Epoch: 11350/20000, Loss: 0.000072\n",
      "Epoch: 11360/20000, Loss: 0.000072\n",
      "Epoch: 11370/20000, Loss: 0.000071\n",
      "Epoch: 11380/20000, Loss: 0.000071\n",
      "Epoch: 11390/20000, Loss: 0.000071\n",
      "Epoch: 11400/20000, Loss: 0.000073\n",
      "Epoch: 11410/20000, Loss: 0.000167\n",
      "Epoch: 11420/20000, Loss: 0.000077\n",
      "Epoch: 11430/20000, Loss: 0.000153\n",
      "Epoch: 11440/20000, Loss: 0.000093\n",
      "Epoch: 11450/20000, Loss: 0.000072\n",
      "Epoch: 11460/20000, Loss: 0.000071\n",
      "Epoch: 11470/20000, Loss: 0.000071\n",
      "Epoch: 11480/20000, Loss: 0.000071\n",
      "Epoch: 11490/20000, Loss: 0.000071\n",
      "Epoch: 11500/20000, Loss: 0.000071\n",
      "Epoch: 11510/20000, Loss: 0.000071\n",
      "Epoch: 11520/20000, Loss: 0.000071\n",
      "Epoch: 11530/20000, Loss: 0.000071\n",
      "Epoch: 11540/20000, Loss: 0.000072\n",
      "Epoch: 11550/20000, Loss: 0.000199\n",
      "Epoch: 11560/20000, Loss: 0.000117\n",
      "Epoch: 11570/20000, Loss: 0.000127\n",
      "Epoch: 11580/20000, Loss: 0.000089\n",
      "Epoch: 11590/20000, Loss: 0.000085\n",
      "Epoch: 11600/20000, Loss: 0.000071\n",
      "Epoch: 11610/20000, Loss: 0.000071\n",
      "Epoch: 11620/20000, Loss: 0.000071\n",
      "Epoch: 11630/20000, Loss: 0.000070\n",
      "Epoch: 11640/20000, Loss: 0.000070\n",
      "Epoch: 11650/20000, Loss: 0.000070\n",
      "Epoch: 11660/20000, Loss: 0.000070\n",
      "Epoch: 11670/20000, Loss: 0.000070\n",
      "Epoch: 11680/20000, Loss: 0.000070\n",
      "Epoch: 11690/20000, Loss: 0.000070\n",
      "Epoch: 11700/20000, Loss: 0.000079\n",
      "Epoch: 11710/20000, Loss: 0.000538\n",
      "Epoch: 11720/20000, Loss: 0.000179\n",
      "Epoch: 11730/20000, Loss: 0.000094\n",
      "Epoch: 11740/20000, Loss: 0.000095\n",
      "Epoch: 11750/20000, Loss: 0.000074\n",
      "Epoch: 11760/20000, Loss: 0.000069\n",
      "Epoch: 11770/20000, Loss: 0.000069\n",
      "Epoch: 11780/20000, Loss: 0.000069\n",
      "Epoch: 11790/20000, Loss: 0.000069\n",
      "Epoch: 11800/20000, Loss: 0.000069\n",
      "Epoch: 11810/20000, Loss: 0.000069\n",
      "Epoch: 11820/20000, Loss: 0.000069\n",
      "Epoch: 11830/20000, Loss: 0.000069\n",
      "Epoch: 11840/20000, Loss: 0.000086\n",
      "Epoch: 11850/20000, Loss: 0.000456\n",
      "Epoch: 11860/20000, Loss: 0.000136\n",
      "Epoch: 11870/20000, Loss: 0.000072\n",
      "Epoch: 11880/20000, Loss: 0.000077\n",
      "Epoch: 11890/20000, Loss: 0.000073\n",
      "Epoch: 11900/20000, Loss: 0.000070\n",
      "Epoch: 11910/20000, Loss: 0.000069\n",
      "Epoch: 11920/20000, Loss: 0.000069\n",
      "Epoch: 11930/20000, Loss: 0.000069\n",
      "Epoch: 11940/20000, Loss: 0.000069\n",
      "Epoch: 11950/20000, Loss: 0.000073\n",
      "Epoch: 11960/20000, Loss: 0.000193\n",
      "Epoch: 11970/20000, Loss: 0.000070\n",
      "Epoch: 11980/20000, Loss: 0.000081\n",
      "Epoch: 11990/20000, Loss: 0.000071\n",
      "Epoch: 12000/20000, Loss: 0.000069\n",
      "Epoch: 12010/20000, Loss: 0.000071\n",
      "Epoch: 12020/20000, Loss: 0.000068\n",
      "Epoch: 12030/20000, Loss: 0.000070\n",
      "Epoch: 12040/20000, Loss: 0.000081\n",
      "Epoch: 12050/20000, Loss: 0.000225\n",
      "Epoch: 12060/20000, Loss: 0.000082\n",
      "Epoch: 12070/20000, Loss: 0.000070\n",
      "Epoch: 12080/20000, Loss: 0.000075\n",
      "Epoch: 12090/20000, Loss: 0.000073\n",
      "Epoch: 12100/20000, Loss: 0.000071\n",
      "Epoch: 12110/20000, Loss: 0.000070\n",
      "Epoch: 12120/20000, Loss: 0.000090\n",
      "Epoch: 12130/20000, Loss: 0.000306\n",
      "Epoch: 12140/20000, Loss: 0.000144\n",
      "Epoch: 12150/20000, Loss: 0.000099\n",
      "Epoch: 12160/20000, Loss: 0.000081\n",
      "Epoch: 12170/20000, Loss: 0.000067\n",
      "Epoch: 12180/20000, Loss: 0.000069\n",
      "Epoch: 12190/20000, Loss: 0.000067\n",
      "Epoch: 12200/20000, Loss: 0.000067\n",
      "Epoch: 12210/20000, Loss: 0.000079\n",
      "Epoch: 12220/20000, Loss: 0.000433\n",
      "Epoch: 12230/20000, Loss: 0.000178\n",
      "Epoch: 12240/20000, Loss: 0.000069\n",
      "Epoch: 12250/20000, Loss: 0.000068\n",
      "Epoch: 12260/20000, Loss: 0.000067\n",
      "Epoch: 12270/20000, Loss: 0.000066\n",
      "Epoch: 12280/20000, Loss: 0.000067\n",
      "Epoch: 12290/20000, Loss: 0.000067\n",
      "Epoch: 12300/20000, Loss: 0.000066\n",
      "Epoch: 12310/20000, Loss: 0.000066\n",
      "Epoch: 12320/20000, Loss: 0.000068\n",
      "Epoch: 12330/20000, Loss: 0.000226\n",
      "Epoch: 12340/20000, Loss: 0.000126\n",
      "Epoch: 12350/20000, Loss: 0.000125\n",
      "Epoch: 12360/20000, Loss: 0.000068\n",
      "Epoch: 12370/20000, Loss: 0.000066\n",
      "Epoch: 12380/20000, Loss: 0.000067\n",
      "Epoch: 12390/20000, Loss: 0.000066\n",
      "Epoch: 12400/20000, Loss: 0.000066\n",
      "Epoch: 12410/20000, Loss: 0.000066\n",
      "Epoch: 12420/20000, Loss: 0.000065\n",
      "Epoch: 12430/20000, Loss: 0.000065\n",
      "Epoch: 12440/20000, Loss: 0.000066\n",
      "Epoch: 12450/20000, Loss: 0.000125\n",
      "Epoch: 12460/20000, Loss: 0.000118\n",
      "Epoch: 12470/20000, Loss: 0.000155\n",
      "Epoch: 12480/20000, Loss: 0.000078\n",
      "Epoch: 12490/20000, Loss: 0.000066\n",
      "Epoch: 12500/20000, Loss: 0.000067\n",
      "Epoch: 12510/20000, Loss: 0.000067\n",
      "Epoch: 12520/20000, Loss: 0.000065\n",
      "Epoch: 12530/20000, Loss: 0.000065\n",
      "Epoch: 12540/20000, Loss: 0.000065\n",
      "Epoch: 12550/20000, Loss: 0.000065\n",
      "Epoch: 12560/20000, Loss: 0.000066\n",
      "Epoch: 12570/20000, Loss: 0.000128\n",
      "Epoch: 12580/20000, Loss: 0.000117\n",
      "Epoch: 12590/20000, Loss: 0.000066\n",
      "Epoch: 12600/20000, Loss: 0.000067\n",
      "Epoch: 12610/20000, Loss: 0.000066\n",
      "Epoch: 12620/20000, Loss: 0.000068\n",
      "Epoch: 12630/20000, Loss: 0.000065\n",
      "Epoch: 12640/20000, Loss: 0.000067\n",
      "Epoch: 12650/20000, Loss: 0.000078\n",
      "Epoch: 12660/20000, Loss: 0.000217\n",
      "Epoch: 12670/20000, Loss: 0.000082\n",
      "Epoch: 12680/20000, Loss: 0.000067\n",
      "Epoch: 12690/20000, Loss: 0.000075\n",
      "Epoch: 12700/20000, Loss: 0.000065\n",
      "Epoch: 12710/20000, Loss: 0.000072\n",
      "Epoch: 12720/20000, Loss: 0.000112\n",
      "Epoch: 12730/20000, Loss: 0.000133\n",
      "Epoch: 12740/20000, Loss: 0.000093\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 12750/20000, Loss: 0.000064\n",
      "Epoch: 12760/20000, Loss: 0.000072\n",
      "Epoch: 12770/20000, Loss: 0.000139\n",
      "Epoch: 12780/20000, Loss: 0.000080\n",
      "Epoch: 12790/20000, Loss: 0.000090\n",
      "Epoch: 12800/20000, Loss: 0.000066\n",
      "Epoch: 12810/20000, Loss: 0.000090\n",
      "Epoch: 12820/20000, Loss: 0.000126\n",
      "Epoch: 12830/20000, Loss: 0.000064\n",
      "Epoch: 12840/20000, Loss: 0.000089\n",
      "Epoch: 12850/20000, Loss: 0.000132\n",
      "Epoch: 12860/20000, Loss: 0.000065\n",
      "Epoch: 12870/20000, Loss: 0.000084\n",
      "Epoch: 12880/20000, Loss: 0.000109\n",
      "Epoch: 12890/20000, Loss: 0.000086\n",
      "Epoch: 12900/20000, Loss: 0.000066\n",
      "Epoch: 12910/20000, Loss: 0.000102\n",
      "Epoch: 12920/20000, Loss: 0.000188\n",
      "Epoch: 12930/20000, Loss: 0.000106\n",
      "Epoch: 12940/20000, Loss: 0.000073\n",
      "Epoch: 12950/20000, Loss: 0.000073\n",
      "Epoch: 12960/20000, Loss: 0.000063\n",
      "Epoch: 12970/20000, Loss: 0.000064\n",
      "Epoch: 12980/20000, Loss: 0.000091\n",
      "Epoch: 12990/20000, Loss: 0.000321\n",
      "Epoch: 13000/20000, Loss: 0.000103\n",
      "Epoch: 13010/20000, Loss: 0.000065\n",
      "Epoch: 13020/20000, Loss: 0.000065\n",
      "Epoch: 13030/20000, Loss: 0.000067\n",
      "Epoch: 13040/20000, Loss: 0.000065\n",
      "Epoch: 13050/20000, Loss: 0.000062\n",
      "Epoch: 13060/20000, Loss: 0.000063\n",
      "Epoch: 13070/20000, Loss: 0.000068\n",
      "Epoch: 13080/20000, Loss: 0.000213\n",
      "Epoch: 13090/20000, Loss: 0.000078\n",
      "Epoch: 13100/20000, Loss: 0.000093\n",
      "Epoch: 13110/20000, Loss: 0.000075\n",
      "Epoch: 13120/20000, Loss: 0.000063\n",
      "Epoch: 13130/20000, Loss: 0.000064\n",
      "Epoch: 13140/20000, Loss: 0.000063\n",
      "Epoch: 13150/20000, Loss: 0.000065\n",
      "Epoch: 13160/20000, Loss: 0.000082\n",
      "Epoch: 13170/20000, Loss: 0.000231\n",
      "Epoch: 13180/20000, Loss: 0.000095\n",
      "Epoch: 13190/20000, Loss: 0.000067\n",
      "Epoch: 13200/20000, Loss: 0.000071\n",
      "Epoch: 13210/20000, Loss: 0.000064\n",
      "Epoch: 13220/20000, Loss: 0.000071\n",
      "Epoch: 13230/20000, Loss: 0.000110\n",
      "Epoch: 13240/20000, Loss: 0.000131\n",
      "Epoch: 13250/20000, Loss: 0.000088\n",
      "Epoch: 13260/20000, Loss: 0.000065\n",
      "Epoch: 13270/20000, Loss: 0.000065\n",
      "Epoch: 13280/20000, Loss: 0.000097\n",
      "Epoch: 13290/20000, Loss: 0.000189\n",
      "Epoch: 13300/20000, Loss: 0.000103\n",
      "Epoch: 13310/20000, Loss: 0.000065\n",
      "Epoch: 13320/20000, Loss: 0.000077\n",
      "Epoch: 13330/20000, Loss: 0.000064\n",
      "Epoch: 13340/20000, Loss: 0.000062\n",
      "Epoch: 13350/20000, Loss: 0.000083\n",
      "Epoch: 13360/20000, Loss: 0.000341\n",
      "Epoch: 13370/20000, Loss: 0.000141\n",
      "Epoch: 13380/20000, Loss: 0.000079\n",
      "Epoch: 13390/20000, Loss: 0.000072\n",
      "Epoch: 13400/20000, Loss: 0.000068\n",
      "Epoch: 13410/20000, Loss: 0.000062\n",
      "Epoch: 13420/20000, Loss: 0.000062\n",
      "Epoch: 13430/20000, Loss: 0.000061\n",
      "Epoch: 13440/20000, Loss: 0.000062\n",
      "Epoch: 13450/20000, Loss: 0.000068\n",
      "Epoch: 13460/20000, Loss: 0.000424\n",
      "Epoch: 13470/20000, Loss: 0.000219\n",
      "Epoch: 13480/20000, Loss: 0.000063\n",
      "Epoch: 13490/20000, Loss: 0.000076\n",
      "Epoch: 13500/20000, Loss: 0.000070\n",
      "Epoch: 13510/20000, Loss: 0.000065\n",
      "Epoch: 13520/20000, Loss: 0.000063\n",
      "Epoch: 13530/20000, Loss: 0.000068\n",
      "Epoch: 13540/20000, Loss: 0.000062\n",
      "Epoch: 13550/20000, Loss: 0.000064\n",
      "Epoch: 13560/20000, Loss: 0.000063\n",
      "Epoch: 13570/20000, Loss: 0.000068\n",
      "Epoch: 13580/20000, Loss: 0.000172\n",
      "Epoch: 13590/20000, Loss: 0.000063\n",
      "Epoch: 13600/20000, Loss: 0.000062\n",
      "Epoch: 13610/20000, Loss: 0.000067\n",
      "Epoch: 13620/20000, Loss: 0.000070\n",
      "Epoch: 13630/20000, Loss: 0.000061\n",
      "Epoch: 13640/20000, Loss: 0.000062\n",
      "Epoch: 13650/20000, Loss: 0.000072\n",
      "Epoch: 13660/20000, Loss: 0.000215\n",
      "Epoch: 13670/20000, Loss: 0.000074\n",
      "Epoch: 13680/20000, Loss: 0.000065\n",
      "Epoch: 13690/20000, Loss: 0.000063\n",
      "Epoch: 13700/20000, Loss: 0.000069\n",
      "Epoch: 13710/20000, Loss: 0.000061\n",
      "Epoch: 13720/20000, Loss: 0.000061\n",
      "Epoch: 13730/20000, Loss: 0.000069\n",
      "Epoch: 13740/20000, Loss: 0.000234\n",
      "Epoch: 13750/20000, Loss: 0.000087\n",
      "Epoch: 13760/20000, Loss: 0.000088\n",
      "Epoch: 13770/20000, Loss: 0.000069\n",
      "Epoch: 13780/20000, Loss: 0.000061\n",
      "Epoch: 13790/20000, Loss: 0.000063\n",
      "Epoch: 13800/20000, Loss: 0.000061\n",
      "Epoch: 13810/20000, Loss: 0.000063\n",
      "Epoch: 13820/20000, Loss: 0.000078\n",
      "Epoch: 13830/20000, Loss: 0.000234\n",
      "Epoch: 13840/20000, Loss: 0.000086\n",
      "Epoch: 13850/20000, Loss: 0.000064\n",
      "Epoch: 13860/20000, Loss: 0.000066\n",
      "Epoch: 13870/20000, Loss: 0.000066\n",
      "Epoch: 13880/20000, Loss: 0.000066\n",
      "Epoch: 13890/20000, Loss: 0.000067\n",
      "Epoch: 13900/20000, Loss: 0.000116\n",
      "Epoch: 13910/20000, Loss: 0.000150\n",
      "Epoch: 13920/20000, Loss: 0.000103\n",
      "Epoch: 13930/20000, Loss: 0.000076\n",
      "Epoch: 13940/20000, Loss: 0.000063\n",
      "Epoch: 13950/20000, Loss: 0.000063\n",
      "Epoch: 13960/20000, Loss: 0.000072\n",
      "Epoch: 13970/20000, Loss: 0.000141\n",
      "Epoch: 13980/20000, Loss: 0.000087\n",
      "Epoch: 13990/20000, Loss: 0.000091\n",
      "Epoch: 14000/20000, Loss: 0.000064\n",
      "Epoch: 14010/20000, Loss: 0.000077\n",
      "Epoch: 14020/20000, Loss: 0.000079\n",
      "Epoch: 14030/20000, Loss: 0.000085\n",
      "Epoch: 14040/20000, Loss: 0.000109\n",
      "Epoch: 14050/20000, Loss: 0.000089\n",
      "Epoch: 14060/20000, Loss: 0.000060\n",
      "Epoch: 14070/20000, Loss: 0.000078\n",
      "Epoch: 14080/20000, Loss: 0.000226\n",
      "Epoch: 14090/20000, Loss: 0.000084\n",
      "Epoch: 14100/20000, Loss: 0.000063\n",
      "Epoch: 14110/20000, Loss: 0.000067\n",
      "Epoch: 14120/20000, Loss: 0.000065\n",
      "Epoch: 14130/20000, Loss: 0.000065\n",
      "Epoch: 14140/20000, Loss: 0.000068\n",
      "Epoch: 14150/20000, Loss: 0.000124\n",
      "Epoch: 14160/20000, Loss: 0.000131\n",
      "Epoch: 14170/20000, Loss: 0.000099\n",
      "Epoch: 14180/20000, Loss: 0.000073\n",
      "Epoch: 14190/20000, Loss: 0.000065\n",
      "Epoch: 14200/20000, Loss: 0.000060\n",
      "Epoch: 14210/20000, Loss: 0.000066\n",
      "Epoch: 14220/20000, Loss: 0.000136\n",
      "Epoch: 14230/20000, Loss: 0.000107\n",
      "Epoch: 14240/20000, Loss: 0.000082\n",
      "Epoch: 14250/20000, Loss: 0.000081\n",
      "Epoch: 14260/20000, Loss: 0.000066\n",
      "Epoch: 14270/20000, Loss: 0.000073\n",
      "Epoch: 14280/20000, Loss: 0.000063\n",
      "Epoch: 14290/20000, Loss: 0.000061\n",
      "Epoch: 14300/20000, Loss: 0.000066\n",
      "Epoch: 14310/20000, Loss: 0.000328\n",
      "Epoch: 14320/20000, Loss: 0.000187\n",
      "Epoch: 14330/20000, Loss: 0.000095\n",
      "Epoch: 14340/20000, Loss: 0.000060\n",
      "Epoch: 14350/20000, Loss: 0.000060\n",
      "Epoch: 14360/20000, Loss: 0.000060\n",
      "Epoch: 14370/20000, Loss: 0.000060\n",
      "Epoch: 14380/20000, Loss: 0.000060\n",
      "Epoch: 14390/20000, Loss: 0.000060\n",
      "Epoch: 14400/20000, Loss: 0.000060\n",
      "Epoch: 14410/20000, Loss: 0.000060\n",
      "Epoch: 14420/20000, Loss: 0.000060\n",
      "Epoch: 14430/20000, Loss: 0.000089\n",
      "Epoch: 14440/20000, Loss: 0.000402\n",
      "Epoch: 14450/20000, Loss: 0.000063\n",
      "Epoch: 14460/20000, Loss: 0.000103\n",
      "Epoch: 14470/20000, Loss: 0.000073\n",
      "Epoch: 14480/20000, Loss: 0.000061\n",
      "Epoch: 14490/20000, Loss: 0.000060\n",
      "Epoch: 14500/20000, Loss: 0.000060\n",
      "Epoch: 14510/20000, Loss: 0.000060\n",
      "Epoch: 14520/20000, Loss: 0.000060\n",
      "Epoch: 14530/20000, Loss: 0.000059\n",
      "Epoch: 14540/20000, Loss: 0.000059\n",
      "Epoch: 14550/20000, Loss: 0.000059\n",
      "Epoch: 14560/20000, Loss: 0.000062\n",
      "Epoch: 14570/20000, Loss: 0.000258\n",
      "Epoch: 14580/20000, Loss: 0.000164\n",
      "Epoch: 14590/20000, Loss: 0.000098\n",
      "Epoch: 14600/20000, Loss: 0.000067\n",
      "Epoch: 14610/20000, Loss: 0.000071\n",
      "Epoch: 14620/20000, Loss: 0.000063\n",
      "Epoch: 14630/20000, Loss: 0.000060\n",
      "Epoch: 14640/20000, Loss: 0.000060\n",
      "Epoch: 14650/20000, Loss: 0.000060\n",
      "Epoch: 14660/20000, Loss: 0.000059\n",
      "Epoch: 14670/20000, Loss: 0.000059\n",
      "Epoch: 14680/20000, Loss: 0.000059\n",
      "Epoch: 14690/20000, Loss: 0.000059\n",
      "Epoch: 14700/20000, Loss: 0.000059\n",
      "Epoch: 14710/20000, Loss: 0.000081\n",
      "Epoch: 14720/20000, Loss: 0.000516\n",
      "Epoch: 14730/20000, Loss: 0.000083\n",
      "Epoch: 14740/20000, Loss: 0.000098\n",
      "Epoch: 14750/20000, Loss: 0.000063\n",
      "Epoch: 14760/20000, Loss: 0.000067\n",
      "Epoch: 14770/20000, Loss: 0.000061\n",
      "Epoch: 14780/20000, Loss: 0.000059\n",
      "Epoch: 14790/20000, Loss: 0.000059\n",
      "Epoch: 14800/20000, Loss: 0.000059\n",
      "Epoch: 14810/20000, Loss: 0.000059\n",
      "Epoch: 14820/20000, Loss: 0.000059\n",
      "Epoch: 14830/20000, Loss: 0.000059\n",
      "Epoch: 14840/20000, Loss: 0.000059\n",
      "Epoch: 14850/20000, Loss: 0.000059\n",
      "Epoch: 14860/20000, Loss: 0.000059\n",
      "Epoch: 14870/20000, Loss: 0.000146\n",
      "Epoch: 14880/20000, Loss: 0.000111\n",
      "Epoch: 14890/20000, Loss: 0.000143\n",
      "Epoch: 14900/20000, Loss: 0.000118\n",
      "Epoch: 14910/20000, Loss: 0.000071\n",
      "Epoch: 14920/20000, Loss: 0.000062\n",
      "Epoch: 14930/20000, Loss: 0.000062\n",
      "Epoch: 14940/20000, Loss: 0.000059\n",
      "Epoch: 14950/20000, Loss: 0.000059\n",
      "Epoch: 14960/20000, Loss: 0.000059\n",
      "Epoch: 14970/20000, Loss: 0.000059\n",
      "Epoch: 14980/20000, Loss: 0.000059\n",
      "Epoch: 14990/20000, Loss: 0.000059\n",
      "Epoch: 15000/20000, Loss: 0.000059\n",
      "Epoch: 15010/20000, Loss: 0.000059\n",
      "Epoch: 15020/20000, Loss: 0.000059\n",
      "Epoch: 15030/20000, Loss: 0.000063\n",
      "Epoch: 15040/20000, Loss: 0.000067\n",
      "Epoch: 15050/20000, Loss: 0.000156\n",
      "Epoch: 15060/20000, Loss: 0.000071\n",
      "Epoch: 15070/20000, Loss: 0.000063\n",
      "Epoch: 15080/20000, Loss: 0.000069\n",
      "Epoch: 15090/20000, Loss: 0.000067\n",
      "Epoch: 15100/20000, Loss: 0.000059\n",
      "Epoch: 15110/20000, Loss: 0.000060\n",
      "Epoch: 15120/20000, Loss: 0.000068\n",
      "Epoch: 15130/20000, Loss: 0.000156\n",
      "Epoch: 15140/20000, Loss: 0.000069\n",
      "Epoch: 15150/20000, Loss: 0.000072\n",
      "Epoch: 15160/20000, Loss: 0.000077\n",
      "Epoch: 15170/20000, Loss: 0.000059\n",
      "Epoch: 15180/20000, Loss: 0.000064\n",
      "Epoch: 15190/20000, Loss: 0.000071\n",
      "Epoch: 15200/20000, Loss: 0.000128\n",
      "Epoch: 15210/20000, Loss: 0.000094\n",
      "Epoch: 15220/20000, Loss: 0.000088\n",
      "Epoch: 15230/20000, Loss: 0.000059\n",
      "Epoch: 15240/20000, Loss: 0.000066\n",
      "Epoch: 15250/20000, Loss: 0.000096\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 15260/20000, Loss: 0.000142\n",
      "Epoch: 15270/20000, Loss: 0.000066\n",
      "Epoch: 15280/20000, Loss: 0.000077\n",
      "Epoch: 15290/20000, Loss: 0.000061\n",
      "Epoch: 15300/20000, Loss: 0.000059\n",
      "Epoch: 15310/20000, Loss: 0.000063\n",
      "Epoch: 15320/20000, Loss: 0.000234\n",
      "Epoch: 15330/20000, Loss: 0.000101\n",
      "Epoch: 15340/20000, Loss: 0.000123\n",
      "Epoch: 15350/20000, Loss: 0.000075\n",
      "Epoch: 15360/20000, Loss: 0.000062\n",
      "Epoch: 15370/20000, Loss: 0.000060\n",
      "Epoch: 15380/20000, Loss: 0.000059\n",
      "Epoch: 15390/20000, Loss: 0.000059\n",
      "Epoch: 15400/20000, Loss: 0.000058\n",
      "Epoch: 15410/20000, Loss: 0.000058\n",
      "Epoch: 15420/20000, Loss: 0.000059\n",
      "Epoch: 15430/20000, Loss: 0.000069\n",
      "Epoch: 15440/20000, Loss: 0.000339\n",
      "Epoch: 15450/20000, Loss: 0.000171\n",
      "Epoch: 15460/20000, Loss: 0.000096\n",
      "Epoch: 15470/20000, Loss: 0.000068\n",
      "Epoch: 15480/20000, Loss: 0.000063\n",
      "Epoch: 15490/20000, Loss: 0.000061\n",
      "Epoch: 15500/20000, Loss: 0.000059\n",
      "Epoch: 15510/20000, Loss: 0.000058\n",
      "Epoch: 15520/20000, Loss: 0.000058\n",
      "Epoch: 15530/20000, Loss: 0.000059\n",
      "Epoch: 15540/20000, Loss: 0.000073\n",
      "Epoch: 15550/20000, Loss: 0.000343\n",
      "Epoch: 15560/20000, Loss: 0.000157\n",
      "Epoch: 15570/20000, Loss: 0.000095\n",
      "Epoch: 15580/20000, Loss: 0.000073\n",
      "Epoch: 15590/20000, Loss: 0.000065\n",
      "Epoch: 15600/20000, Loss: 0.000060\n",
      "Epoch: 15610/20000, Loss: 0.000058\n",
      "Epoch: 15620/20000, Loss: 0.000059\n",
      "Epoch: 15630/20000, Loss: 0.000060\n",
      "Epoch: 15640/20000, Loss: 0.000072\n",
      "Epoch: 15650/20000, Loss: 0.000261\n",
      "Epoch: 15660/20000, Loss: 0.000100\n",
      "Epoch: 15670/20000, Loss: 0.000082\n",
      "Epoch: 15680/20000, Loss: 0.000062\n",
      "Epoch: 15690/20000, Loss: 0.000059\n",
      "Epoch: 15700/20000, Loss: 0.000061\n",
      "Epoch: 15710/20000, Loss: 0.000060\n",
      "Epoch: 15720/20000, Loss: 0.000058\n",
      "Epoch: 15730/20000, Loss: 0.000058\n",
      "Epoch: 15740/20000, Loss: 0.000059\n",
      "Epoch: 15750/20000, Loss: 0.000165\n",
      "Epoch: 15760/20000, Loss: 0.000069\n",
      "Epoch: 15770/20000, Loss: 0.000136\n",
      "Epoch: 15780/20000, Loss: 0.000078\n",
      "Epoch: 15790/20000, Loss: 0.000071\n",
      "Epoch: 15800/20000, Loss: 0.000058\n",
      "Epoch: 15810/20000, Loss: 0.000059\n",
      "Epoch: 15820/20000, Loss: 0.000059\n",
      "Epoch: 15830/20000, Loss: 0.000058\n",
      "Epoch: 15840/20000, Loss: 0.000058\n",
      "Epoch: 15850/20000, Loss: 0.000058\n",
      "Epoch: 15860/20000, Loss: 0.000058\n",
      "Epoch: 15870/20000, Loss: 0.000058\n",
      "Epoch: 15880/20000, Loss: 0.000058\n",
      "Epoch: 15890/20000, Loss: 0.000058\n",
      "Epoch: 15900/20000, Loss: 0.000059\n",
      "Epoch: 15910/20000, Loss: 0.000156\n",
      "Epoch: 15920/20000, Loss: 0.000062\n",
      "Epoch: 15930/20000, Loss: 0.000153\n",
      "Epoch: 15940/20000, Loss: 0.000058\n",
      "Epoch: 15950/20000, Loss: 0.000068\n",
      "Epoch: 15960/20000, Loss: 0.000063\n",
      "Epoch: 15970/20000, Loss: 0.000059\n",
      "Epoch: 15980/20000, Loss: 0.000058\n",
      "Epoch: 15990/20000, Loss: 0.000058\n",
      "Epoch: 16000/20000, Loss: 0.000058\n",
      "Epoch: 16010/20000, Loss: 0.000058\n",
      "Epoch: 16020/20000, Loss: 0.000057\n",
      "Epoch: 16030/20000, Loss: 0.000057\n",
      "Epoch: 16040/20000, Loss: 0.000058\n",
      "Epoch: 16050/20000, Loss: 0.000064\n",
      "Epoch: 16060/20000, Loss: 0.000413\n",
      "Epoch: 16070/20000, Loss: 0.000227\n",
      "Epoch: 16080/20000, Loss: 0.000059\n",
      "Epoch: 16090/20000, Loss: 0.000076\n",
      "Epoch: 16100/20000, Loss: 0.000067\n",
      "Epoch: 16110/20000, Loss: 0.000060\n",
      "Epoch: 16120/20000, Loss: 0.000058\n",
      "Epoch: 16130/20000, Loss: 0.000058\n",
      "Epoch: 16140/20000, Loss: 0.000058\n",
      "Epoch: 16150/20000, Loss: 0.000057\n",
      "Epoch: 16160/20000, Loss: 0.000057\n",
      "Epoch: 16170/20000, Loss: 0.000057\n",
      "Epoch: 16180/20000, Loss: 0.000058\n",
      "Epoch: 16190/20000, Loss: 0.000080\n",
      "Epoch: 16200/20000, Loss: 0.000448\n",
      "Epoch: 16210/20000, Loss: 0.000088\n",
      "Epoch: 16220/20000, Loss: 0.000074\n",
      "Epoch: 16230/20000, Loss: 0.000074\n",
      "Epoch: 16240/20000, Loss: 0.000064\n",
      "Epoch: 16250/20000, Loss: 0.000060\n",
      "Epoch: 16260/20000, Loss: 0.000058\n",
      "Epoch: 16270/20000, Loss: 0.000057\n",
      "Epoch: 16280/20000, Loss: 0.000057\n",
      "Epoch: 16290/20000, Loss: 0.000057\n",
      "Epoch: 16300/20000, Loss: 0.000057\n",
      "Epoch: 16310/20000, Loss: 0.000059\n",
      "Epoch: 16320/20000, Loss: 0.000146\n",
      "Epoch: 16330/20000, Loss: 0.000077\n",
      "Epoch: 16340/20000, Loss: 0.000103\n",
      "Epoch: 16350/20000, Loss: 0.000089\n",
      "Epoch: 16360/20000, Loss: 0.000067\n",
      "Epoch: 16370/20000, Loss: 0.000060\n",
      "Epoch: 16380/20000, Loss: 0.000059\n",
      "Epoch: 16390/20000, Loss: 0.000058\n",
      "Epoch: 16400/20000, Loss: 0.000057\n",
      "Epoch: 16410/20000, Loss: 0.000057\n",
      "Epoch: 16420/20000, Loss: 0.000057\n",
      "Epoch: 16430/20000, Loss: 0.000061\n",
      "Epoch: 16440/20000, Loss: 0.000163\n",
      "Epoch: 16450/20000, Loss: 0.000063\n",
      "Epoch: 16460/20000, Loss: 0.000084\n",
      "Epoch: 16470/20000, Loss: 0.000079\n",
      "Epoch: 16480/20000, Loss: 0.000065\n",
      "Epoch: 16490/20000, Loss: 0.000059\n",
      "Epoch: 16500/20000, Loss: 0.000057\n",
      "Epoch: 16510/20000, Loss: 0.000057\n",
      "Epoch: 16520/20000, Loss: 0.000057\n",
      "Epoch: 16530/20000, Loss: 0.000057\n",
      "Epoch: 16540/20000, Loss: 0.000059\n",
      "Epoch: 16550/20000, Loss: 0.000136\n",
      "Epoch: 16560/20000, Loss: 0.000100\n",
      "Epoch: 16570/20000, Loss: 0.000087\n",
      "Epoch: 16580/20000, Loss: 0.000088\n",
      "Epoch: 16590/20000, Loss: 0.000069\n",
      "Epoch: 16600/20000, Loss: 0.000061\n",
      "Epoch: 16610/20000, Loss: 0.000059\n",
      "Epoch: 16620/20000, Loss: 0.000057\n",
      "Epoch: 16630/20000, Loss: 0.000057\n",
      "Epoch: 16640/20000, Loss: 0.000057\n",
      "Epoch: 16650/20000, Loss: 0.000057\n",
      "Epoch: 16660/20000, Loss: 0.000062\n",
      "Epoch: 16670/20000, Loss: 0.000224\n",
      "Epoch: 16680/20000, Loss: 0.000081\n",
      "Epoch: 16690/20000, Loss: 0.000108\n",
      "Epoch: 16700/20000, Loss: 0.000080\n",
      "Epoch: 16710/20000, Loss: 0.000066\n",
      "Epoch: 16720/20000, Loss: 0.000060\n",
      "Epoch: 16730/20000, Loss: 0.000057\n",
      "Epoch: 16740/20000, Loss: 0.000057\n",
      "Epoch: 16750/20000, Loss: 0.000056\n",
      "Epoch: 16760/20000, Loss: 0.000057\n",
      "Epoch: 16770/20000, Loss: 0.000062\n",
      "Epoch: 16780/20000, Loss: 0.000240\n",
      "Epoch: 16790/20000, Loss: 0.000098\n",
      "Epoch: 16800/20000, Loss: 0.000111\n",
      "Epoch: 16810/20000, Loss: 0.000078\n",
      "Epoch: 16820/20000, Loss: 0.000065\n",
      "Epoch: 16830/20000, Loss: 0.000060\n",
      "Epoch: 16840/20000, Loss: 0.000057\n",
      "Epoch: 16850/20000, Loss: 0.000056\n",
      "Epoch: 16860/20000, Loss: 0.000056\n",
      "Epoch: 16870/20000, Loss: 0.000057\n",
      "Epoch: 16880/20000, Loss: 0.000066\n",
      "Epoch: 16890/20000, Loss: 0.000278\n",
      "Epoch: 16900/20000, Loss: 0.000118\n",
      "Epoch: 16910/20000, Loss: 0.000100\n",
      "Epoch: 16920/20000, Loss: 0.000075\n",
      "Epoch: 16930/20000, Loss: 0.000062\n",
      "Epoch: 16940/20000, Loss: 0.000056\n",
      "Epoch: 16950/20000, Loss: 0.000057\n",
      "Epoch: 16960/20000, Loss: 0.000056\n",
      "Epoch: 16970/20000, Loss: 0.000057\n",
      "Epoch: 16980/20000, Loss: 0.000067\n",
      "Epoch: 16990/20000, Loss: 0.000279\n",
      "Epoch: 17000/20000, Loss: 0.000118\n",
      "Epoch: 17010/20000, Loss: 0.000099\n",
      "Epoch: 17020/20000, Loss: 0.000074\n",
      "Epoch: 17030/20000, Loss: 0.000061\n",
      "Epoch: 17040/20000, Loss: 0.000056\n",
      "Epoch: 17050/20000, Loss: 0.000057\n",
      "Epoch: 17060/20000, Loss: 0.000056\n",
      "Epoch: 17070/20000, Loss: 0.000056\n",
      "Epoch: 17080/20000, Loss: 0.000063\n",
      "Epoch: 17090/20000, Loss: 0.000257\n",
      "Epoch: 17100/20000, Loss: 0.000108\n",
      "Epoch: 17110/20000, Loss: 0.000109\n",
      "Epoch: 17120/20000, Loss: 0.000076\n",
      "Epoch: 17130/20000, Loss: 0.000064\n",
      "Epoch: 17140/20000, Loss: 0.000059\n",
      "Epoch: 17150/20000, Loss: 0.000056\n",
      "Epoch: 17160/20000, Loss: 0.000056\n",
      "Epoch: 17170/20000, Loss: 0.000055\n",
      "Epoch: 17180/20000, Loss: 0.000056\n",
      "Epoch: 17190/20000, Loss: 0.000061\n",
      "Epoch: 17200/20000, Loss: 0.000275\n",
      "Epoch: 17210/20000, Loss: 0.000143\n",
      "Epoch: 17220/20000, Loss: 0.000105\n",
      "Epoch: 17230/20000, Loss: 0.000061\n",
      "Epoch: 17240/20000, Loss: 0.000056\n",
      "Epoch: 17250/20000, Loss: 0.000055\n",
      "Epoch: 17260/20000, Loss: 0.000056\n",
      "Epoch: 17270/20000, Loss: 0.000056\n",
      "Epoch: 17280/20000, Loss: 0.000055\n",
      "Epoch: 17290/20000, Loss: 0.000055\n",
      "Epoch: 17300/20000, Loss: 0.000056\n",
      "Epoch: 17310/20000, Loss: 0.000079\n",
      "Epoch: 17320/20000, Loss: 0.000365\n",
      "Epoch: 17330/20000, Loss: 0.000114\n",
      "Epoch: 17340/20000, Loss: 0.000056\n",
      "Epoch: 17350/20000, Loss: 0.000055\n",
      "Epoch: 17360/20000, Loss: 0.000055\n",
      "Epoch: 17370/20000, Loss: 0.000055\n",
      "Epoch: 17380/20000, Loss: 0.000056\n",
      "Epoch: 17390/20000, Loss: 0.000054\n",
      "Epoch: 17400/20000, Loss: 0.000055\n",
      "Epoch: 17410/20000, Loss: 0.000057\n",
      "Epoch: 17420/20000, Loss: 0.000117\n",
      "Epoch: 17430/20000, Loss: 0.000151\n",
      "Epoch: 17440/20000, Loss: 0.000056\n",
      "Epoch: 17450/20000, Loss: 0.000063\n",
      "Epoch: 17460/20000, Loss: 0.000057\n",
      "Epoch: 17470/20000, Loss: 0.000054\n",
      "Epoch: 17480/20000, Loss: 0.000055\n",
      "Epoch: 17490/20000, Loss: 0.000055\n",
      "Epoch: 17500/20000, Loss: 0.000055\n",
      "Epoch: 17510/20000, Loss: 0.000056\n",
      "Epoch: 17520/20000, Loss: 0.000084\n",
      "Epoch: 17530/20000, Loss: 0.000305\n",
      "Epoch: 17540/20000, Loss: 0.000107\n",
      "Epoch: 17550/20000, Loss: 0.000063\n",
      "Epoch: 17560/20000, Loss: 0.000059\n",
      "Epoch: 17570/20000, Loss: 0.000058\n",
      "Epoch: 17580/20000, Loss: 0.000055\n",
      "Epoch: 17590/20000, Loss: 0.000054\n",
      "Epoch: 17600/20000, Loss: 0.000053\n",
      "Epoch: 17610/20000, Loss: 0.000053\n",
      "Epoch: 17620/20000, Loss: 0.000053\n",
      "Epoch: 17630/20000, Loss: 0.000054\n",
      "Epoch: 17640/20000, Loss: 0.000208\n",
      "Epoch: 17650/20000, Loss: 0.000300\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 17660/20000, Loss: 0.000116\n",
      "Epoch: 17670/20000, Loss: 0.000058\n",
      "Epoch: 17680/20000, Loss: 0.000062\n",
      "Epoch: 17690/20000, Loss: 0.000060\n",
      "Epoch: 17700/20000, Loss: 0.000053\n",
      "Epoch: 17710/20000, Loss: 0.000054\n",
      "Epoch: 17720/20000, Loss: 0.000053\n",
      "Epoch: 17730/20000, Loss: 0.000053\n",
      "Epoch: 17740/20000, Loss: 0.000053\n",
      "Epoch: 17750/20000, Loss: 0.000052\n",
      "Epoch: 17760/20000, Loss: 0.000052\n",
      "Epoch: 17770/20000, Loss: 0.000052\n",
      "Epoch: 17780/20000, Loss: 0.000052\n",
      "Epoch: 17790/20000, Loss: 0.000052\n",
      "Epoch: 17800/20000, Loss: 0.000052\n",
      "Epoch: 17810/20000, Loss: 0.000052\n",
      "Epoch: 17820/20000, Loss: 0.000058\n",
      "Epoch: 17830/20000, Loss: 0.000494\n",
      "Epoch: 17840/20000, Loss: 0.000170\n",
      "Epoch: 17850/20000, Loss: 0.000098\n",
      "Epoch: 17860/20000, Loss: 0.000063\n",
      "Epoch: 17870/20000, Loss: 0.000053\n",
      "Epoch: 17880/20000, Loss: 0.000055\n",
      "Epoch: 17890/20000, Loss: 0.000053\n",
      "Epoch: 17900/20000, Loss: 0.000052\n",
      "Epoch: 17910/20000, Loss: 0.000051\n",
      "Epoch: 17920/20000, Loss: 0.000051\n",
      "Epoch: 17930/20000, Loss: 0.000051\n",
      "Epoch: 17940/20000, Loss: 0.000051\n",
      "Epoch: 17950/20000, Loss: 0.000053\n",
      "Epoch: 17960/20000, Loss: 0.000144\n",
      "Epoch: 17970/20000, Loss: 0.000055\n",
      "Epoch: 17980/20000, Loss: 0.000101\n",
      "Epoch: 17990/20000, Loss: 0.000076\n",
      "Epoch: 18000/20000, Loss: 0.000059\n",
      "Epoch: 18010/20000, Loss: 0.000055\n",
      "Epoch: 18020/20000, Loss: 0.000051\n",
      "Epoch: 18030/20000, Loss: 0.000051\n",
      "Epoch: 18040/20000, Loss: 0.000050\n",
      "Epoch: 18050/20000, Loss: 0.000052\n",
      "Epoch: 18060/20000, Loss: 0.000115\n",
      "Epoch: 18070/20000, Loss: 0.000090\n",
      "Epoch: 18080/20000, Loss: 0.000061\n",
      "Epoch: 18090/20000, Loss: 0.000066\n",
      "Epoch: 18100/20000, Loss: 0.000055\n",
      "Epoch: 18110/20000, Loss: 0.000049\n",
      "Epoch: 18120/20000, Loss: 0.000052\n",
      "Epoch: 18130/20000, Loss: 0.000050\n",
      "Epoch: 18140/20000, Loss: 0.000056\n",
      "Epoch: 18150/20000, Loss: 0.000173\n",
      "Epoch: 18160/20000, Loss: 0.000055\n",
      "Epoch: 18170/20000, Loss: 0.000055\n",
      "Epoch: 18180/20000, Loss: 0.000049\n",
      "Epoch: 18190/20000, Loss: 0.000057\n",
      "Epoch: 18200/20000, Loss: 0.000050\n",
      "Epoch: 18210/20000, Loss: 0.000052\n",
      "Epoch: 18220/20000, Loss: 0.000154\n",
      "Epoch: 18230/20000, Loss: 0.000051\n",
      "Epoch: 18240/20000, Loss: 0.000062\n",
      "Epoch: 18250/20000, Loss: 0.000053\n",
      "Epoch: 18260/20000, Loss: 0.000048\n",
      "Epoch: 18270/20000, Loss: 0.000053\n",
      "Epoch: 18280/20000, Loss: 0.000061\n",
      "Epoch: 18290/20000, Loss: 0.000107\n",
      "Epoch: 18300/20000, Loss: 0.000055\n",
      "Epoch: 18310/20000, Loss: 0.000067\n",
      "Epoch: 18320/20000, Loss: 0.000073\n",
      "Epoch: 18330/20000, Loss: 0.000069\n",
      "Epoch: 18340/20000, Loss: 0.000073\n",
      "Epoch: 18350/20000, Loss: 0.000102\n",
      "Epoch: 18360/20000, Loss: 0.000055\n",
      "Epoch: 18370/20000, Loss: 0.000056\n",
      "Epoch: 18380/20000, Loss: 0.000155\n",
      "Epoch: 18390/20000, Loss: 0.000048\n",
      "Epoch: 18400/20000, Loss: 0.000047\n",
      "Epoch: 18410/20000, Loss: 0.000063\n",
      "Epoch: 18420/20000, Loss: 0.000046\n",
      "Epoch: 18430/20000, Loss: 0.000046\n",
      "Epoch: 18440/20000, Loss: 0.000068\n",
      "Epoch: 18450/20000, Loss: 0.000292\n",
      "Epoch: 18460/20000, Loss: 0.000053\n",
      "Epoch: 18470/20000, Loss: 0.000058\n",
      "Epoch: 18480/20000, Loss: 0.000053\n",
      "Epoch: 18490/20000, Loss: 0.000045\n",
      "Epoch: 18500/20000, Loss: 0.000048\n",
      "Epoch: 18510/20000, Loss: 0.000044\n",
      "Epoch: 18520/20000, Loss: 0.000044\n",
      "Epoch: 18530/20000, Loss: 0.000059\n",
      "Epoch: 18540/20000, Loss: 0.000280\n",
      "Epoch: 18550/20000, Loss: 0.000107\n",
      "Epoch: 18560/20000, Loss: 0.000059\n",
      "Epoch: 18570/20000, Loss: 0.000056\n",
      "Epoch: 18580/20000, Loss: 0.000048\n",
      "Epoch: 18590/20000, Loss: 0.000058\n",
      "Epoch: 18600/20000, Loss: 0.000077\n",
      "Epoch: 18610/20000, Loss: 0.000056\n",
      "Epoch: 18620/20000, Loss: 0.000042\n",
      "Epoch: 18630/20000, Loss: 0.000060\n",
      "Epoch: 18640/20000, Loss: 0.000296\n",
      "Epoch: 18650/20000, Loss: 0.000087\n",
      "Epoch: 18660/20000, Loss: 0.000047\n",
      "Epoch: 18670/20000, Loss: 0.000047\n",
      "Epoch: 18680/20000, Loss: 0.000051\n",
      "Epoch: 18690/20000, Loss: 0.000046\n",
      "Epoch: 18700/20000, Loss: 0.000047\n",
      "Epoch: 18710/20000, Loss: 0.000097\n",
      "Epoch: 18720/20000, Loss: 0.000066\n",
      "Epoch: 18730/20000, Loss: 0.000068\n",
      "Epoch: 18740/20000, Loss: 0.000045\n",
      "Epoch: 18750/20000, Loss: 0.000087\n",
      "Epoch: 18760/20000, Loss: 0.000077\n",
      "Epoch: 18770/20000, Loss: 0.000069\n",
      "Epoch: 18780/20000, Loss: 0.000048\n",
      "Epoch: 18790/20000, Loss: 0.000040\n",
      "Epoch: 18800/20000, Loss: 0.000040\n",
      "Epoch: 18810/20000, Loss: 0.000120\n",
      "Epoch: 18820/20000, Loss: 0.000056\n",
      "Epoch: 18830/20000, Loss: 0.000109\n",
      "Epoch: 18840/20000, Loss: 0.000041\n",
      "Epoch: 18850/20000, Loss: 0.000043\n",
      "Epoch: 18860/20000, Loss: 0.000039\n",
      "Epoch: 18870/20000, Loss: 0.000040\n",
      "Epoch: 18880/20000, Loss: 0.000039\n",
      "Epoch: 18890/20000, Loss: 0.000040\n",
      "Epoch: 18900/20000, Loss: 0.000050\n",
      "Epoch: 18910/20000, Loss: 0.000148\n",
      "Epoch: 18920/20000, Loss: 0.000049\n",
      "Epoch: 18930/20000, Loss: 0.000041\n",
      "Epoch: 18940/20000, Loss: 0.000054\n",
      "Epoch: 18950/20000, Loss: 0.000113\n",
      "Epoch: 18960/20000, Loss: 0.000038\n",
      "Epoch: 18970/20000, Loss: 0.000071\n",
      "Epoch: 18980/20000, Loss: 0.000048\n",
      "Epoch: 18990/20000, Loss: 0.000036\n",
      "Epoch: 19000/20000, Loss: 0.000052\n",
      "Epoch: 19010/20000, Loss: 0.000293\n",
      "Epoch: 19020/20000, Loss: 0.000061\n",
      "Epoch: 19030/20000, Loss: 0.000036\n",
      "Epoch: 19040/20000, Loss: 0.000037\n",
      "Epoch: 19050/20000, Loss: 0.000046\n",
      "Epoch: 19060/20000, Loss: 0.000036\n",
      "Epoch: 19070/20000, Loss: 0.000035\n",
      "Epoch: 19080/20000, Loss: 0.000034\n",
      "Epoch: 19090/20000, Loss: 0.000034\n",
      "Epoch: 19100/20000, Loss: 0.000094\n",
      "Epoch: 19110/20000, Loss: 0.000049\n",
      "Epoch: 19120/20000, Loss: 0.000088\n",
      "Epoch: 19130/20000, Loss: 0.000062\n",
      "Epoch: 19140/20000, Loss: 0.000050\n",
      "Epoch: 19150/20000, Loss: 0.000040\n",
      "Epoch: 19160/20000, Loss: 0.000036\n",
      "Epoch: 19170/20000, Loss: 0.000034\n",
      "Epoch: 19180/20000, Loss: 0.000033\n",
      "Epoch: 19190/20000, Loss: 0.000033\n",
      "Epoch: 19200/20000, Loss: 0.000033\n",
      "Epoch: 19210/20000, Loss: 0.000055\n",
      "Epoch: 19220/20000, Loss: 0.000195\n",
      "Epoch: 19230/20000, Loss: 0.000053\n",
      "Epoch: 19240/20000, Loss: 0.000046\n",
      "Epoch: 19250/20000, Loss: 0.000049\n",
      "Epoch: 19260/20000, Loss: 0.000032\n",
      "Epoch: 19270/20000, Loss: 0.000033\n",
      "Epoch: 19280/20000, Loss: 0.000070\n",
      "Epoch: 19290/20000, Loss: 0.000095\n",
      "Epoch: 19300/20000, Loss: 0.000050\n",
      "Epoch: 19310/20000, Loss: 0.000063\n",
      "Epoch: 19320/20000, Loss: 0.000030\n",
      "Epoch: 19330/20000, Loss: 0.000050\n",
      "Epoch: 19340/20000, Loss: 0.000118\n",
      "Epoch: 19350/20000, Loss: 0.000061\n",
      "Epoch: 19360/20000, Loss: 0.000034\n",
      "Epoch: 19370/20000, Loss: 0.000034\n",
      "Epoch: 19380/20000, Loss: 0.000101\n",
      "Epoch: 19390/20000, Loss: 0.000033\n",
      "Epoch: 19400/20000, Loss: 0.000032\n",
      "Epoch: 19410/20000, Loss: 0.000058\n",
      "Epoch: 19420/20000, Loss: 0.000028\n",
      "Epoch: 19430/20000, Loss: 0.000045\n",
      "Epoch: 19440/20000, Loss: 0.000140\n",
      "Epoch: 19450/20000, Loss: 0.000063\n",
      "Epoch: 19460/20000, Loss: 0.000029\n",
      "Epoch: 19470/20000, Loss: 0.000041\n",
      "Epoch: 19480/20000, Loss: 0.000097\n",
      "Epoch: 19490/20000, Loss: 0.000029\n",
      "Epoch: 19500/20000, Loss: 0.000065\n",
      "Epoch: 19510/20000, Loss: 0.000042\n",
      "Epoch: 19520/20000, Loss: 0.000030\n",
      "Epoch: 19530/20000, Loss: 0.000120\n",
      "Epoch: 19540/20000, Loss: 0.000030\n",
      "Epoch: 19550/20000, Loss: 0.000027\n",
      "Epoch: 19560/20000, Loss: 0.000055\n",
      "Epoch: 19570/20000, Loss: 0.000026\n",
      "Epoch: 19580/20000, Loss: 0.000048\n",
      "Epoch: 19590/20000, Loss: 0.000113\n",
      "Epoch: 19600/20000, Loss: 0.000056\n",
      "Epoch: 19610/20000, Loss: 0.000035\n",
      "Epoch: 19620/20000, Loss: 0.000026\n",
      "Epoch: 19630/20000, Loss: 0.000061\n",
      "Epoch: 19640/20000, Loss: 0.000110\n",
      "Epoch: 19650/20000, Loss: 0.000053\n",
      "Epoch: 19660/20000, Loss: 0.000057\n",
      "Epoch: 19670/20000, Loss: 0.000024\n",
      "Epoch: 19680/20000, Loss: 0.000040\n",
      "Epoch: 19690/20000, Loss: 0.000087\n",
      "Epoch: 19700/20000, Loss: 0.000024\n",
      "Epoch: 19710/20000, Loss: 0.000070\n",
      "Epoch: 19720/20000, Loss: 0.000044\n",
      "Epoch: 19730/20000, Loss: 0.000052\n",
      "Epoch: 19740/20000, Loss: 0.000067\n",
      "Epoch: 19750/20000, Loss: 0.000026\n",
      "Epoch: 19760/20000, Loss: 0.000079\n",
      "Epoch: 19770/20000, Loss: 0.000034\n",
      "Epoch: 19780/20000, Loss: 0.000058\n",
      "Epoch: 19790/20000, Loss: 0.000031\n",
      "Epoch: 19800/20000, Loss: 0.000022\n",
      "Epoch: 19810/20000, Loss: 0.000056\n",
      "Epoch: 19820/20000, Loss: 0.000128\n",
      "Epoch: 19830/20000, Loss: 0.000055\n",
      "Epoch: 19840/20000, Loss: 0.000056\n",
      "Epoch: 19850/20000, Loss: 0.000021\n",
      "Epoch: 19860/20000, Loss: 0.000036\n",
      "Epoch: 19870/20000, Loss: 0.000054\n",
      "Epoch: 19880/20000, Loss: 0.000030\n",
      "Epoch: 19890/20000, Loss: 0.000020\n",
      "Epoch: 19900/20000, Loss: 0.000020\n",
      "Epoch: 19910/20000, Loss: 0.000072\n",
      "Epoch: 19920/20000, Loss: 0.000057\n",
      "Epoch: 19930/20000, Loss: 0.000119\n",
      "Epoch: 19940/20000, Loss: 0.000040\n",
      "Epoch: 19950/20000, Loss: 0.000021\n",
      "Epoch: 19960/20000, Loss: 0.000019\n",
      "Epoch: 19970/20000, Loss: 0.000020\n",
      "Epoch: 19980/20000, Loss: 0.000020\n",
      "Epoch: 19990/20000, Loss: 0.000019\n",
      "Epoch: 20000/20000, Loss: 0.000019\n"
     ]
    }
   ],
   "source": [
    "# # Create LEM instance\n",
    "# lem = LEM(input_size, hidden_size, output_size, dt=0.01)\n",
    "\n",
    "# # Loss and optimizer\n",
    "# criterion = nn.MSELoss()\n",
    "# optimizer = torch.optim.Adam(lem.parameters(), lr=0.1)\n",
    "# Create LEM instance :: niche h RNN vala \n",
    "lem = LEM(input_size, hidden_size, output_size, dt=0.1)\n",
    "\n",
    "# Loss and optimizer\n",
    "criterion = nn.MSELoss()\n",
    "optimizer = torch.optim.Adam(lem.parameters(), lr=0.01)\n",
    "\n",
    "\n",
    "\n",
    "# Training loop\n",
    "for epoch in range(num_epochs):\n",
    "    # Forward pass\n",
    "    output = lem(input_tensor)\n",
    "    loss = criterion(output, target_tensor)\n",
    "\n",
    "    # Backward and optimize\n",
    "    optimizer.zero_grad()\n",
    "    loss.backward()\n",
    "    optimizer.step()\n",
    "\n",
    "    # Print progress\n",
    "    if (epoch + 1) % 10 == 0:\n",
    "        print(f'Epoch: {epoch + 1}/{num_epochs}, Loss: {loss.item():.6f}')\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba3799af",
   "metadata": {},
   "source": [
    "### Exact solution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "86371afd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1, 256)\n",
      "(1, 201)\n",
      "(201, 256)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/data/localhome/tkapoor/.local/lib/python3.8/site-packages/numpy/ma/core.py:2820: ComplexWarning: Casting complex values to real discards the imaginary part\n",
      "  _data = np.array(data, dtype=dtype, copy=copy,\n",
      "/usr/local/lib/python3.8/dist-packages/matplotlib/contour.py:1180: ComplexWarning: Casting complex values to real discards the imaginary part\n",
      "  self.levels = np.asarray(levels_arg).astype(np.float64)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.io\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# Load the .mat file\n",
    "mat_data = scipy.io.loadmat('NLS.mat')\n",
    "\n",
    "# Following is the code to plot the data u vs x and t. u is 256*100\n",
    "# matrix. Use first 75 columns for training and 25 for testing :)\n",
    "\n",
    "# Access the variables stored in the .mat file\n",
    "# The variable names in the .mat file become keys in the loaded dictionary\n",
    "x = mat_data['x']\n",
    "t = mat_data['tt']\n",
    "u1 = mat_data['uu']\n",
    "\n",
    "# Use the loaded variables as needed\n",
    "print(x.shape)\n",
    "print(t.shape)\n",
    "print(u.shape)\n",
    "\n",
    "X, T = np.meshgrid(x, t)\n",
    "# Define custom color levels\n",
    "c_levels = np.linspace(np.min(u1), np.max(u1), 100)\n",
    "\n",
    "# Plot the contour\n",
    "plt.figure()\n",
    "plt.figure(figsize=(15, 5))\n",
    "plt.contourf(T, X, u1.T, levels=c_levels, cmap='coolwarm')\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('x')\n",
    "plt.title('Schrondinger-Equation')\n",
    "plt.colorbar()  # Add a colorbar for the contour levels\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "58f3e90d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([1, 1, 256])\n",
      "torch.Size([1, 40, 256])\n"
     ]
    }
   ],
   "source": [
    "print(test_tensor.shape)\n",
    "prediction_tensor = torch.zeros(1, 40, 256).float()\n",
    "print(prediction_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "79d7df2b",
   "metadata": {},
   "outputs": [],
   "source": [
    "with torch.no_grad():\n",
    "    prediction = lem(test_tensor)\n",
    "    prediction = prediction.view(1, 1, 256).float()\n",
    "    prediction_tensor[:, 0, :] = prediction\n",
    "    for i in range(39):\n",
    "        prediction = lem(prediction)\n",
    "        prediction = prediction.view(1, 1, 256).float()\n",
    "        prediction_tensor[:, i+1, :] = prediction\n",
    "        \n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e5dcef45",
   "metadata": {},
   "source": [
    "### Errors"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "59c8ee5f",
   "metadata": {},
   "source": [
    "### L2 norm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "c90a052e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 1, 256])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_tensor.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "5043b50b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(201, 256)\n"
     ]
    }
   ],
   "source": [
    "# true solution\n",
    "h_true = np.abs(u1)\n",
    "h_true = h_true.T\n",
    "print(h_true.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "8f380e24",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(40, 256)\n"
     ]
    }
   ],
   "source": [
    "# exact\n",
    "u_test_full = h_true[161:201, :]\n",
    "print(u_test_full.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "d8f98f3c",
   "metadata": {},
   "outputs": [],
   "source": [
    "# with torch.no_grad():\n",
    "#     prediction = lem(test_tensor)\n",
    "\n",
    "# prediction.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "21fdcc06",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 40, 256])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "k1 = (prediction_tensor - u_test_full)**2\n",
    "u_test_full_tensor = torch.tensor(u_test_full**2)\n",
    "prediction_tensor.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "203c3e52",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Error Test:  0.005073756367225011 %\n"
     ]
    }
   ],
   "source": [
    "# Compute the relative L2 error norm (generalization error)\n",
    "relative_error_test = torch.mean(k1)/ torch.mean(u_test_full_tensor)\n",
    "\n",
    "print(\"Relative Error Test: \", relative_error_test.item(), \"%\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ee7d637",
   "metadata": {},
   "source": [
    "### Max error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "6563c9c6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(0.1785, dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "R_abs = torch.max(prediction_tensor-u_test_full)\n",
    "print(R_abs)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0c59e44b",
   "metadata": {},
   "source": [
    "### Explained variance score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "882528cf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Explained Variance Score: 0.9903260218849085\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "\n",
    "a = prediction_tensor\n",
    "b = u_test_full\n",
    "# Assuming 'a' is your predicted values (model's predictions) and 'b' is the true values (ground truth)\n",
    "# Make sure 'a' and 'b' are PyTorch tensors\n",
    "b = torch.tensor(b)\n",
    "# Calculate the mean of 'b'\n",
    "mean_b = torch.mean(b)\n",
    "\n",
    "# Calculate the Explained Variance Score\n",
    "numerator = torch.var(b - a)  # Variance of the differences between 'b' and 'a'\n",
    "denominator = torch.var(b)    # Variance of 'b'\n",
    "evs = 1 - numerator / denominator\n",
    "\n",
    "print(\"Explained Variance Score:\", evs.item())\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "459a08cf",
   "metadata": {},
   "source": [
    "### Mean absolute error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "c25e9d74",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(0.0309, dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "R_mean = torch.mean(torch.abs(prediction_tensor - u_test_full))\n",
    "print(R_mean)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "f784a4e6",
   "metadata": {},
   "outputs": [],
   "source": [
    "## t= 1.28, 1.5, 1.37"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dc49e1af",
   "metadata": {},
   "source": [
    "### snapshots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "cf2b9c48",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(201, 256)"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prediction_tensor = torch.squeeze(prediction_tensor)\n",
    "h = np.abs(u)\n",
    "h.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "2eacce42",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(256, 1)\n",
      "(256, 1)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWUAAAF7CAYAAAAKWZpQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA2zUlEQVR4nO3dd5xU1f3/8deH3ptgR0ERFZAiqIAKKhbsvWs0MYkxUWOi5qcmUaPGltj1a0wssRsFRWyADbGhKEUFC2JDURClg8Dufn5/nFnYhbkzs7Mzs3dm38/HYx6zO/fMvZ+F3c+ePfeczzF3R0RE4qFBXQcgIiJrKSmLiMSIkrKISIwoKYuIxIiSsohIjCgpi4jEiJKySBYs2N7MTjGz28xskpmtNDM3s59qee7mZna4mf3LzN41s4VmttrMvjezF83st2bWPMNzdTGz683sPTNbYmarzOw7MxtrZj83s4a1iVVyzzRPWeLIzI4GHgVWAa3cfXUdh1SNmXUBPo84vNLdm9Xi3IuB1mmafQQc4u4zU5znMOABoGWK87wF7O/uC2oap+SHesoSV/0Tz9PjlpCT+Bp4Ang1R+drDawEHgaOA7YGOgB9gdsBB7YDxplZq2QnMLOuife3BOYBZyTesxGwK/BYoukuwB05iltyoFFdByASoTIpT6nTKKL9ABwGvOXu3wGY2aXA7jk4923A5e4+d53XFwC/NbMvgauBLsBvgWuTnONXQDOgAjjI3SdVOTYPeMPMRgJHAEeaWUd3n5+D2KWW1FOWuNox8RzLpOzuS9z9ycqEnONzn5kkIVd1HeGXAsD+EW36JJ5nrpOQq3og8dyA0BuXGFBSltgws7aJG2VO+HMd4JbK1xKPVMmqXnD3MqByLHnTiGaVNxsrUpyq6rHvaxuX5IaSssRJrwzavJ/3KIrDRonnxRHHJyeeu5tZ74g2xySeZwJf5CguqSWNKUucTCTc5DoLuBL4Fui+TpvIm36J6V0ZTRWL4u5La/P+QjCzfkDXxKcTI5r9H3AO0BF4yswuBF4GFhKGKn4PnACsAM5w91Q9aikgJWWJDXcvB5aa2faJl6bWMEnuTkg8tWG1fH8h/CPx7MC/kzVw9wVmNhQYSZh18eA6TSoIM0aucPfJ675f6o6GLySOKm9SxfImX10ys/OBYYlPb3f3yOEcd59BmCGSrDfdANicMINDYkRJWWLFzJoAa3rKNXmvu493d6vNI+dfUA6Z2X7AVYlP3wfOS9P+EuBDYCvg18CWwAbAIMI85Z2AkYlELzGhpCxx0wNonPh4ah3GEStm1p+QSBsCs4ED3X1FivYXAJcSxoyHuPt/3P0rd//R3Se6+zHAPYnmV5tZ37x+AZIxjSlL3PRNPC8FPq3JG0v1Rp+ZdQeeI9wE/R7Y191np2jfBPh/iU8fcvePI5peDPyc0Dn7GfolGAtKyhI3fRPP73nNC7OU3I0+M+sMPA90Ikx/G+7uH6V5Ww+gXeLjyJt47v61mc0DNmTtkJHUMQ1fSNxU3uSbWpdBxIGZdSIk5C0IwxAHZzhToiZ/LVT+EtKUuJhQT1nipnIByXs1faO7jydmPd1smVkbYCywLWFu9lHuPiHDt1dd+r1jVKNEL7xT4tOvsolTck89ZYkNMzPCYgeIXqlW8sysGfAU0I/Qgz3Z3Z/N9P3u/jlry4qeYGbbRDT9W5WPx2YTq+SeesoSG+5eWdtiI+A3ZjaNMNPAgTJ3r1Xx+Fwzsx5Amyovbb72kA1cp/kUd19Z5b17sHb8++fu/t/E6w2B/wFDEsfOA56JKtEJVLj78iSvXwHcBbQAJpjZX4BxhBuo3YFzgaMrYwNGR36hUlAlUeQ+8Q37IWt/KNZ8k0txMbO/AxclOXSvu59a4HBSMrPxwNAMm3d19y+qvHcPkiflLkQXz0/mS3fvEhHfFYR/y1RDOtOBA9xdwxcxUSrDF1ewNiFLcfsroXf4PmsrnYFu/NWYu/8F2JnQY/4YWAaUEabVvUgofD9ACTleir6nbGY7Am8D7xB2UQD1lEWkSBV1T9nMGrB2K5sz6jIWEZFcKOqkTCjxOIBQmEXFa0Sk6BVtUjazzYDLgbnAX+o4HBGRnCjmKXG3EGoB/NbdF9XkjYnthjIS98phIlJcKvNPVG4pyqRsZgcDhwPj3f2BdO1rea3ivhMqIkWl6JKymbUEbiUsPf1dNufIpPerZCwidaHokjJwGaFAy7WJnRXyqtinDIpIvIRqAtGK6kZfohD37wlLby+r22hERHKv2HrKNxF2Xvgzob5AVD2ApoljUXUBRERiqahW9JnZF4R9xjIVWRcgg2tV3iHN5u0iIklVDl9E3dsqquELEZFSV1RJ2d27ZLgT8c8Tr3Wpq1hFRLJRVElZRKTUKSmLiMSIkrKISIwU25S4lFSnQkSKnXrKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjGipCwiEiNKyiIiMaKkLCISI0rKIiIxoqQsIhIjSsoiIjHSKF0DM/tZIQIBcPf7CnUtEZE4MndP3cCsAkjdKEfcvWEhrpMJM3OAdP8+IiI1YWYAuLslO562pwxMoEBJWUSkvkvbU66v1FMWkXxI11PWjT4RkRhRUhYRiRElZRGRGFFSFhGJkUxmXyRlZo2AnYAhQE+gI9Apcfj7xGM68Cowyd3LaheqiEjpq3FSNrNhwC+BQ4BmVQ+t07TqtIWfzGw0cJe7v1DjKEVE6omMpsSZWQPgNOACoAvVE/AC4LPE84+J1zoA7YGtEs+VHPgCuJqQoCtqFX0eaUqciORDuilxmazoOwL4O9CdkIyXAE8AYwjDErPSvH9rwjDHvsARQBtCcv4Y+LO7P5H5l1M4Ssoikg+5SMqVvdnxwK3AM+6+MstgmgIHAmcCe4S44rO0uiolZRHJh1wk5THA5e7+eo4D2xX4q7sPz+V5c0VJWUTyodYr+tx9eK4TcuK8r8c1IYtkYt48OOMMaNUKGjWC7baDSy6B5cvrOjIpZlnVvjCzb4H3gIPcfXXOo4oB9ZQllY8+gr33hm++Wf/Y4MHwwgvQvHnh45L4q/XwRcRJK8t5tnb3kuwXKClLlKVLoV8/+PTT6DannQZ33lm4mKR4xKIgkZk1NbO7zeysQlxPJJ9uvDF1Qga46y545ZWChCMlJtN5yg3dvbzK5zXqKZtZS8JUugp3z3oVYSGppyzJLFwIW24Jixenbzt8ODz3XN5DkiKTiyL3AEvNbDowJfGolGnGsnWeRYrSww9nlpABxoyB6dOhZ8/8xiSlJdOk3BTYEei3zuszzWwqIVFPBaZGLCbpnHj+KYsYRWLj/vtr3v7qq/MTi5SmTIcvjgL6Jx47EpZRO2t7vlVPspQwM2Nq4nkx8BtgKPCeu/fNTej5peELWdesWdCtW83e0717mKlh+htREnIyfOHuI4ARVU5aucrvImB7oE/iuTHQGtgVGLzuaYB7Mw9dJF6eeqrm7/nkE/jwQ+jRI/fxSGmq7U23mytv9JlZY6AH0Dfx6AP0IpT0nEsoQHRDLa8nUmeefz67940eraQsmct2nnIbQsJ900v073sNX0hVK1dChw7Rq/V69YIPPkh+bN99YezY/MUmxSUv85TdfbG7v1GqCVlkXW++GZ2QmzaFa6+Nfu9rr8GqVfmJS0qPtoMSycCECdHHdt8d9toLmjVLfnz5cpg0KT9xSelRUhbJwOspSnINGxZ6y4PXvbVdxfjxOQ9JSpSSskga5eVh+CLKbruF5z33jG4zcWJuY5LSpaQsksYHH8CSJcmPNWkCAwaEj3ffPfocEyeC7sBIJpSURdJ4++3oY/37rx1LHjAAGkT8RM2fHxafiKSjpCySytKlTL3vvcjDVceRW7aE3r2jT6UhDMmEkrJIKo88wrTXoisQ9VunGszAgdGn0gwMyURRJmUz28LMzjGzp8zsKzNbaWZLzGyamV1tZpvUdYxSGiruf5D3iO7+9ulT/fNddok+15Qp0cdEKmW1oq/GFzG7O/HhRMJy6/JU7dOcqzPwJdXLgC4GWgKVO2MvAI5095drcR2t6Kvv5sxh1mZD6EbyivZN+Yklx/2axr85DYYMATOmTYO+fZOfrnXrUI85atxZ6odY7DwCnAqcAtwOfGhmJ9TiXJWJ9xngaKCDu7cFWgAHAJ8D7YFRZrZxLa4j9d1jjzEtRS+5J9Np/Mj9sMceYdfU666jR5flNGmSvP2SJfD55/kJVUpHIX9nW+LRDbjfzKZleZ4FQD93P8jdR7j7AgB3X+XuzxES809AG+D0HMQt9dXjjzONPpGH+1DlW/iTT+Caa2jcvBG9ekWfUkMYkk5BkrK7N3D3BoRi978AHgE2zPJci9w9MqG7+0eEYRII9Z9Fau7HH+H11zNPygDHHw9NmkQOXwBMnZqT6KSEFXR0y92/cff/uvuJ7p7Pm3E/JJ4bpmwlEmXMGCgvZyp9I5v0ZWr1F449Flh/RkZVU94p15prSSmrpGxmse2BmlkjQpF9gIhiiiJpPP00C2nLl3SJbNKbKvOXO3deMx8uZVIeOy+sx/722xwFKqUm257yy2a2X04jyZ3fARsDFUTsdGJmnu5R0IglXsrLYdy4lFPhtuBL2rNw7QuHHLJmWkXvHmVEfQt9yybMZUN49tlcRiwlJNuk3AoYbWY/z2UwtWVmvYGrEp/e6u4z6jIeKVLvvAM//FCz8eRBg+CBB+D442m9VSe6+czI906lLzzzTI6ClVKTbVIeQdiP704z+2smbzCz/c3snSyvl8n5NwFGAc2Bd4H/F9XW3S3dI19xShEYMwYgZVKuNp7csmUokHHyyfDII7BwIf2InmYxhX5hb6mVK3MVsZSQbHceOQa4gTDF7VIz+7eZJT2Xme1qZq8ATwMpRtuyZ2YdgHFAV2AmcKC7/5SPa0k90KULDB6c8iZftZ7ysGFw5JHVjq93E7CK9+gNS5fCq6/WLk4pSVnPvnD3c4GzCbtUn0ZYrNG88riZ9TWzZ4EJwG6EBP5h7cJdn5m1BcYS9gz8Ctjb3efm+jpSj5xyCmWvvM4HTaPvZ1dLysOHh8pE7dqteSltUgYNYUhStZoS5+63AkcRFmscSLgBuKuZPQq8A+xHSMYzgZOAHWoXbnVm1hJ4FhgAfEdIyF/l8hpSP33yCaxcmXwUq1XD5WzVsMq32X77QaNG4Tmh2syMdXzEdvxEU93sk6RqPU/Z3UcBewLzgZ0IPeMjE+eeRVhe3cPdH8rlRquJXvlTwGDCvOS93VPcXRGpgWkp1pv23qUFDX6cD088ARddBFttFQ4cdNCaNpsyhw5rpstXV04jPmT7kPm/Uh9Cqqt1UjazjoTecsvKlxLPfwG2d/f73b2ittdZ55pNgMcJvwwWAvu6+/RcXkPqt1Qr7/r0Adq0gcMOg7//fe2B4cMhUWzGSDJDo4o1NxFffLG2oUqJyTopm9kGZnY1oQDQuYSCQAuAeYTvyV8D3XMR5DrXbQg8BAwHlgD7u/vkXF9H6rdUPeV1y3Wu0bFjtYLKqYYw1owrP/98FtFJKct2Rd+VhGR8PqGHvAy4nDD7YSDwCbAF8LqZDclNqGvsShgegTAtb5SZfRfxUFlxyUpWSRlgn33WtkvRU16TlF94ASpy+oekFLlse8oXEBaQrAJuBLZy90vcfYm7fwEMAt4E2gFjzey42oe6RtWYmwEbpXh0yuF1pZ6YOxe++y75MTPYIdXt6r33XvNhqp7yNPrge+4Ff/gDrFqVZaRSirIqcm9mq4G7gcvd/euINk0JwwyHE5Y8X+Tu19Yi1oJSkfv6a9y4ahMpquneHT7+OMWbV62CDh1g2TJW0IxWLKUioi7WnDmwifbIqXfyVeR+e3c/PSohJy64knAD8LbEda4ys9uyvJ5IwWQ9dAHQpEkoeg8077Ix27aLnjKf6jpSf2W7oi/5/jjrt3N3P4sw3AHwm2yuJ1JItUrKAFddBZ9+Cp9/Tu/9No1s9l706IbUY4Uqcn8tYfHI6kJcT6Q2ap2Ud9gBtt46bXv1lCWZRoW6kLs/bGYqIiux9tNP8GGKYgCpdhVJpnd09U/1lCWpQu88Mr6Q1xOpqRkzQjnlZDp0gM02q9n5UiXljz5SoThZX9qkbGbvmtmhub6wmR1uZu/m+rwitZFu6MJqWNR1882hffvkx8rKUvfKpX7KpKfcD3jczKaY2a/MLOJbLD0z62Bmv0nsZD0CUtRGFKkDtR5PXoeZhjCkZjJJykOBt4E+wL+Ab81stJn9zsx2ScxHTsrMmpnZIDM728yeAb4lTJHbAXgrcW6R2EhV86Km48mVdLNPaiLtjT53fxUYZGZHAhcRes4HEUp1ApQlbuAtSDwAOgDtgU1Yu6N05R9+7wJXuvsTOfkKRHLEPfc9ZVBPWWqmxiv6zKwf8CvCSr2NMnzbPGAk8B93n1qjC9YRreirf776CrbcMvmxRo3CZiFNI/8ujDZpEuy8c/JjnTqFZd01HauW4pVuRV9Wy6yrnHwbYHegB6HORMfEofnA98AM4NVirHOspFxPTJwY5hW3bMlTT4VNqZPZYYfse7XLl0Pr1tF1h779FjbeOLtzS/FJl5RrNU85kWyLLuGKACFbDh0axi0GD2ZKo8uA5EUNsx26AGjRArbZJrpmxnvvKSnLWgWdpywSKxMmhAJCq1fDK68w+cUfI5v2q+WWv7rZJ5lSUpb6a50C81NSbLbe75Uba1WQXjf7JFPZFrnfuerO1SJFqcrGpT/Qga+IuMsH9Bt9KTzySNaXSpWU1VOWqrIdU54IlJvZLGBa1Ueqcp4isTFrVljnnDA1xTqmrnxGOxZV21WkplINX3z4YRhFadIk69NLCanNjb6GhD34tiHUTQbAzBayTqIGpru7tleQ+HjmmWqfphy6YEr4YNiwrC/XuTO0bQuLFq1/rKws/H5I1ZuW+iPbMeWuwBGEffmeAeYQFocYYdHIHsDZwF3AO8BSM3vfzB6obcAiOVHTpDxgQJhUnKV0y62nTSOUqHv2Wfj1r2HMmKyvJcUtq56yu38JfAmMqnzNzDoSVvv1IyTlYYSNTSuv05Mwn/mkrKMVyYWlS2H8+GovTWbHyOb9mAIHHVTry/bpA6++mvzY5Muf4eTfHhdiA1ixAoYPr/U1pfjkbPaFu8939+fd/Vp3P4Cw2u/GxOGpwJXA07m6nkjWXnih2maly2jBx2wb2XxHJuckKaeqnTFpZtu1CRng6afDVD2pd/I2Jc7dF7r7H4HjCMWMlrt7zkuAitTYqFHVPn2P3njEj8JGfMcmG1P7icqLFrHTtP9EHp7MjpRV3WB14cIwj1rqnbzPU3b3R4H/ApeYWa98X08kJXeYPLnaS5PYKbJ5P6bAgQdCg1r+qDRuTI///JHmLE96eAUtmE7P6i8+oZpd9VGhFo/8lzC+fFaBrieSnFmozzlhApx+OrRvz0QGRjbvz7shKddWixY02m9YGAqJsN4vhxEjwtQMqVcKlZS/SDzvXaDriURr0AB23x3+9S/49lsmbhQ9qjaw0buwd46+bQ87jJ2YFHl4vaQ8d26tVhFKccp2Rd+DZnaeme1tZhtk8JbOiefo/dZF6sC8RU35fG7LyOO77NkilHjLhYMOYqcUO6AlHUa5//7cXFuKRraLR44n3MADwMzmAFMIsyymAFPd/fPEsTbAZYmmCxCJkbfeij629QYL6HT+qbm7WMeO7LyTh318knifHfiJpjSjym6qo0bBkiW5+8UgsZft8MVoYDZrF4xsRtiN5M+Evfc+NbPFiWXYc4E9AU+8TyQ2Jk6MPrbLfu1rtbQ6ma1/MZT2JK9GV0bj9Zd7r1gBI0fmNAaJt6ySsrsf5u5dgA0Ii0TOAx4gFLUvJyTqVoSVf00Tn08BLqh9yCK5kyopD4y+/5c1O+ZoBlj0zb632GX9FzWEUa/Utsj9AuDlxAOAxEaqvQgr+DZPvDwNeM7dI/ZeECm88nJ4O2IoAfKTlGnfnp26L+L5iIL3r7I7v+fmtS/07h1mf7hrz6h6olZJORl3X0nYHDX6joZIDMyYUX0RXVVNm9Zut5FUBh+9GVyR/Nir7I5vvAl20olw8smqUlQP5TwpixSLVAvm+vfPXynNXc/aEbuiIukqwnlsxCcvzmbbHg2TvFPqA+08IvXWSy9FH8vL0EVCuw2b0KfjN5HHJ7yuhFyfpe0pm9nPChEIgLvfV6hrSf1WXg4vvxx9fK+98nv9IYe0Y+rdyY9NmAC/+lV+ry/xZe6euoFZBWE6W965e2y6CGbmAOn+faQ4TZ4chiiSadgQfvwR2rTJ3/VHjoSjjkp+bIst4Msv83dtqVuWuGHr7knv3GYypjyBAiVlkUJJNXSx0075TcgQVnlH+eqrkJS3jN4yUEpY2qTs7nsUIA6Rgnrxxehj+R66ANhwQ9h2W/g4Ymrc+PFwyin5j0PiRzf6pN5ZtSp6BxCo1VZ8NTJkSPQx7QZVfykpS70zcSIsW5b8WNOmMGhQYeLYc8/oY2PHqmpnfaWkLPXO6BQVWAYPhubNCxPHvvtG185fsCB1sSQpXUrKUq+4r7cbVDU5rj+U0gYbpJ4P/eyzhYtF4kNJWUqPe8iul18O335b7dD06TBrVvRbDzssv6Gt64ADoo8pKddPSspSel56KexYffHFYdLvMceE6QzuKXvJ3bvDdtsVKsggVVKeOhW+iV74JyVKSVlKz7XXrv24rAweeyzcVevZk1H/nhf5tsMOK3whtr59YZNNoo8/+WTBQpGYUFKW0jJlCowbl/TQlx8u493ZG0a+tdBDFxB+CaTqLT/wQOFikXhQUpbScs01kYfuJXo1xkYbwS5J6ssXwiGHRB97883UY+BSepSUpXTMnBmGKpKowLiHn0e+9dBDo6en5dvw4dChQ/TxBx9McwJNaC4pSspSOi6+GCqSb27zEnvxBV0j33rSSfkKKr0mTcK9yCgPPBAmlKznzTfDZOcLL8xbbFJ4SspSGqZMgUceiTx8F6dFHuveHXbbLR9BZe7kk6OPzZwZ8u8akyaFgejBg+H55+G229ab+ifFS0lZSsNFF0UemkcnnuDwyOO/+EXdb383aBB0je7Ic8MNhHqjBx8MO+8Mzz239uCKFXBFxP5SUnSUlKX4jR+fsoLPjZzDSpolPdawYTyqsZmlHkJ5fEQ5n/U/Cp5+OnmDf/87dKml6CkpS/Fbvhw6d056aAHtuJUzI9964IGw8cb5CqxmfvGL6JuNFTTkRs6JfnNZGfz5z3mJSwpLSVmK3wEHwCefhL/xN9ig2qFbOZMlRFesP+OMfAeXuS5doncjgTAuPp8Nohs89tg6g89SjNJuB1VfaTuoIrV4MVx3HVx3HQuWNaYbn/JjRCLr3z/cM6vr8eSqJk0KQ8ZRzuJmbub30Q369w/l5RrGZmc1WUe67aCUlCMoKRe5efM4e98PuWXa0MgmI0fCEUcUMKYMDRkSXYS/IWV8QC+2I2LLEgjjy9p5NbaUlLOkpFzcPvgg1JUoL09+vEcPeP/9ulswksro0WExS5SDeIqnSLEMsGPHMJzTvn3ug5NaS5eUY/gtKVI7FRVw9tnRCRnCPbE4JmQIs95S7X7yNAfzP1KsNpk/PyykkaIU029Lkezddhu8/HL08V12geOOK1w8NWUG11+fus0Z3M4cIsrLde8OBx2U+8CkIJSUpaR8+CH86U+p29x8c3x7yZUGDoTjj48+voAO/Jx7KK/6I9yqVShb+v77sN9++Q9S8iLm35oimVu+HE44AX76KbrNqaemnt0QJ1ddBS1aRB8fx35czGXhk5NOgo8/hvPPD8U0pGjpRl8E3egrLu7ws5+lrj+8wQZhO6iNNipcXLX1f/8Hv/td6jb/+9tHHHNxgbdMkaxp9kWWlJSLy003wTnnpG4T1ylwqbjD/vvD2LHRbZo2DXX9hwwpXFySPSXlLCkpF4/Ro+HwwyOrdgKhvsV//1uwkHJqzhzYYQf48cfoNm3awIQJ0KdP4eKS7CgpZ0lJuThMmgRDh4ZCaVG6dYN33oG2bQsXV6698EK4d5fqF89GG8Ebb8BWWxUuLqk5zVOWkvXFF2FOb6qE3KIFPPFEcSdkgL33hn/+M3WbuXNh2DCYPbswMUl+KClLUfr++9BznDs3dbt77oFevQoTU76dc06oJJfKF1+Ejbu/+aYQEUk+KClL0Vm6NJTc/OST1O3++tfU2ywVGzO4447UG61C2Gh12DD47rvCxCW5pTHlCBpTjoElS6B162ovrVoVFqs9/3zqt558Mtx7b7wqwOXKihXhr4SookWVevQI9f87dSpIWJIhjSlLcZo9OxQYvvhiWLkSCDe5Tj01fULec0+4887STMgAzZuHGSfpZlrMmBHGon/4oTBxSW6opxxBPeU65B7GJyr3oevZE7/rbv7w8M7cdFPqt/boAa+9Vj8KpM2bF34BzZiRul2/fvDii/Xj36QYaEpclpSU69D994fleVVcbRdwoV+V8m2dO4cpYZtvns/g4uW778KUwHTj6wMHhr8wWrUqTFwSTUk5S0rKdWT2bOjdGxYuXPPSfZzMKdyX8m0dOoQe8vbb5zm+GPrmm5CYZ81K3W6ffeCpp8IKQKk7GlOW4lFREZbeVUnIY9mX07gr5dtatIBnn62fCRlgs83gpZfCEHwqzz8fCjaVlRUkLMmSkrLEx3XXVSuE/C47ciQjKaNx5FsaNaxg5MhQI7k+22KLkJjTDd08/jj8+tdh2B4IW7QcdRQsW5b3GCUzSsoSD1Onhu1AEj6jKwfwLMtIPQh6T/nPGN769TwHVxy6dg2JeZOI2veV7rkHzjvX8ZtvgQEDQqWmc88tTJCSlpKy1L0VK8Lf1atXAzCfDRjOGOaRusbmPziPkw5cCIMHFyDI4rDNNmGYokOH1O2uv8G48vffrZluyB13hHl2Uud0oy+CbvQV0O9+FwoHA8towTBe5C0GpnzLOdzA9a0vxWZMr1/TLTL09tthVd/Spanb3cOpnMq94ZOOHcOuJRtvnP8A6zHd6JN4W7EC3noLgDIachyPpE3Ix/A/ruNc7J//UEKOsPPO8OST6Tch+SV3MobE1lHz54fVOalK0UneqaccQT3lAlq5Ev/jufzq//pyF79M2XQo4xnDcJoduHeY31Wqy/ZyZNQoOOoop7w8+t+pJUt5haH0Z3J44cYb4fe/L0h89ZF6yhJ/TZtyacdb0ybkXrzPKA6jWac2cNddSsjpVFRw2CfXpv13XUYrDuBZPqNreOH88+HNNwsQoCSjpCx17o474LLLUrfZnNk8x/60YxHcfXdxbbRXV1auhHvv5ZTyu7mOP6ZsOo+NGM4Y5rNBuOF61FHp66JKXigpS5168kn47W9Tt2nHAsYwnM35Bs44I5SJk/SaN4eHHoImTfgjN3AON6RsPpPuHMxTLKd52IPq2GPXzIiRwlFSljrzxhtw3HGp7ys15SdGcwg9mQHbbpt++w2prk8fuCrUDLmOczmG/6VsPpFBHM/DlNEQXnkFxowpRJRShW70RdCNvvz66CPYddfUm4GawYjrv+KIfw8PhR3eeAP69y9ckKWioiIUYH7hBX6iKcMZwyvskfItpze6i9sfbIMdc3RhYqxHVJAoS0rK+TNnDgwaBF99lbrdrbeGKcwsXRpuPO2zT0HiK0lVtsReSFt24zWmk3qfrCuuqLbIUnJESTlLSsr5sWgRDBkC772Xut2FF8KVVxYmpnrjiSfgiCMAmM3mDOJNviH1PO977glTlyV3NCVOYmPlSjj88PQJ+ZRT4O9/L0xM9crhh8PZZwPQma95jv1py8KUb/nVr2Ds2ALEJmuopxxBPeXcqqgI5S3+l/o+E8OHhxIMjaMLw0ltrF4Ne+0Vik8D4xnKfoxlFdFFllu2DPf8NJyfG+opS51zh7POSp+QBwyAxx5TQs6rxo3h0UfX1LfYo/9S7rtlccq3LFsWduf6/PNCBChKypJX7mGBWKLeUKStt4ZnntF2RQWxySYwYkQorPzaaxx7Zieuvz71W+bODX/FzJ9fmBDrMw1fRNDwRW5cckn61XqdOoXJFVtvXZiYJLk//hFuSL2+hIEDwyasLVoUJqZSpOELKayvv17z4TXXpE/ILVuGrZyUkOveP/8JxxyTus3EiWEFdmUZZsk9JWXJnXHjoHt3uOkmbrkFLrggdfNGjcJf0QMGFCY8Sa1BA7jvvrAJayrPPReS96pVhYmrvtHwRQQNX9TQ6NFw9NGwahW38jvO4taUzRs0CGUZjj22QPFJxhYuhN12g+nTU7c78kh45JHwy1Uyp+ELyb9HHw0/oatWcRUXpE3IEAq9KSHHU7t2oeRFuv0DRo6stouX5IiSsmTPPexAfdxxeFkZF3IlF3FV2rf9619hgYjE1+abh2GKtm1Tt3vssfAHksaYc0dJWbJTVhZqbp53HhUOZ3MzV3Nh2rfdcAOcfnoB4pNa69Ur9JjTTVN88kk47LCwsxfz5oU18uo+Z01jyhE0ppzC4sVh7GHMGFbQjJ9xHyNIX03s73+Hiy4qQHySU6++GuYoL1+eut2gncsZvXI/Ok57MVSle+SRMBYi1aggUZaUlCN8+GGYEzVjBt/TkUMYzUQGpX3b5Y3/xl9e3At2370AQUquvfRSWNX300+p23VjJs+xP92YFWbiPPkkbLddYYIsErrRJ7l1yy0wYwYf052BTMwoId/AOfxl9aXhp/rtt/Mfo+TcXnvB00+HzUxS+ZRtGMSbvMXO8MknsMsuYYNbyZiSstTMddfxXNffMog3+YzUKz6MCu7kNM7hpvDCkiXaOaSIDRuW2RjzfDqxB+N5iOPDUNchh8Af/qC7gRnS8EUEDV+sr6ICLr8c/vY3J+IvrzUasZoHOIljeXTtiwcfHKbPNWuW50glnyZODGPMixalb3s2N/FPzqMxZbDjjmFy+rbb5j/IGNOYcpaUlKubOxd+/vMwTSqd1izmMY5mP8atffHoo+HBB1UCrkS89x4csOdyvvkxfRGM3XiVhziBznwdfiFfcQWccw40bJj/QGNIY8pSa6NHh52EMknImzOb19itekI+5ZTQQ1JCLhm9f3iZiUt6sQNpdiwAXmN3evMe/+OYcKfwoYdS75Zbz6mnHEE95TAE/Ic/wF13Zda+H5N5moPYlG/XvnjJJeFhqYc7pIhMmxb29Fq8mEW04ShG8AKZ7Z94sj3Ara/3o82gnnkOMr7UU5asPP106B1nmpAP4UkmMGRtQm7cGO69Fy69VAm51HzxxZq5cW1ZzDMcyC/I7Bvlfj+JHY7ryZNPhgWhsj4lZanmq6/C3poHHwxffpm+vRlc8cvPeaLBUbRiWXixXbtQMe5nP8trrFJHDj00/P926ABAE1ZzJ7/kdn5DY9KXjvvqq7AC8OCD4bPP8hxrEVJSFiBUBrvggjDf/4knMntPhw5hitSf/9OVBtckal5sv32oWL/HHvkKVeJg6FCYNCmsxQYM+A138ApD2ZRvMjrFM89Az57w179mNpOjvtCYcoSSG1MuL4fx48OWEYPWLvhYsgRuvx2uvRZ++CHz0+21F/z3v9C5c+IFd7j5ZjjtNO3pVJ8sXRr+Iqrym3wenfgld/IUh2R8mvbt4U9/gjPPLP1vn3Rjyri7HkkegId/niJWUeH+/vvuF1zgvvnm7uC+yy7uFRX+/ffuf/ube/v24eVMH02bul9/vXt5eV1/cRIb5eXu11zj3qjRmm+UCvDbOd2bs6xG318dOrhfcon799/X9ReVP1VyS9Lco55yhKLtKZeXh9n9o0aFx6efVjs8hb7ccsAYHnpxoxovsOrdO0w1TvzFKlLdW2/BcceFG4EJHzXegRO3eYvJM9Ksz15HixZw4olhb9f+/ZPcK37wwVBfdNAgaNKk9rEXkHrK9aGnXFHhftll7vvs496q1Xrdj6/Z1P/Bud6HKTXqtVQ+mjd3v/pq95Ur6/oLldhbuND9xBPXfvNcfbWvWuX+j3+4t2xZ8+89cO/b1/2229znzUtcY/Vq97Ztw8FWrdwPOcT9hhvc33qrKL5Jq+QW9ZRrouh6yj17wowZaz79lK15moMYzSGMZw88y3u6Bx8choq7dMlRnFI/jBoVbjqMGLFmv6ivvw7z3keMyO6UDRqEIoNH9vuMw24cGlYIrqtZM+jTJyzp3nFH6Ncv/GnXtGnWX0quaZl1lootKc87+VxefeALXmV3xjCcj6lducR+/cLNv733zlGAIgnjxsF558H779fuPL14n30Zx168xE5MYkO+T97wgw9CpyUmlJSzlFVSnjkz9BDKy8POHFWfV68OVcKXLQt3rJctC4XiTz21xrEtXBgWVU2ZAlOnhhlon3xS49Mk1a1bWO9x/PGhZyKSDxUVoTbVxReHH5tc2IIvGcA77MQkBvAO/XmX9iwMP2st0tfoyMh998Hs2aH337hxeAwcCDvtlPEplJSzlFVSfuKJsPIiU+efH7qj61i1Cr7/HubMgVmzwuPTT8Nj1iz49tsk56qlXr3CriDHHFNv68RIHSgrg4cfhmuuSb97djY6N/iGrYdsRrdusPXW4dGtG2y0UVjj1Lx5DRecDh0KEyZUf+3yy+Evf8n4FOmSclFvDm5mGwMXAgcBmwGLgLeBG939xULE8NlnoeO7ejWs/rQjq9mN1TSOfCylFUtoHR7PDWbJvFBy9vvvw/Zm8+aFnnChDN+3nLN+35Dhw9UzlsJr1AhOPjnMtHj22bAP7/jxuTv/7IrNmD0++pyNG4fknO7Rtm2Y5NHou0E0pC2NKFvzaDh7Kxq9Hr6WJk3C0F9tFG1P2cx6Ay8BGyReWgy0IqxSdOAid7+6FufPqKfcvz9MnpztVerGJszheB7mdO6g+10XwC9+UdchiawxcybceSfcc0/orBSTdu1gwYLUbUpy+MLMmgMfAlsCU4CT3X26mbUBLgbOJSTm4e4+LvpMKa+RUVIeODBMz4y7VizhSEZyEg+wJy/TkETpxJ49wx0XFQ2SmFm1KizFHjEiFMhavLiuI0qvY8f0v0hKdfjidEJCXgoc7O7fALj7YuA8M9saOAy4CsgqKWcqziWCu/IZB/MUB/E0Q5hA03WLxTRqFAbYFi4M61xFYqRJEzj88PBYuRJeuudLHj9jHGMYztd0Tn+COtAoBxm1WJPyiYnnhyoT8jr+QUjKO5rZtu7+cb4CiVNS3nJLZ/evH2b38vEMYQLb8jFJfxXvvHOoV3DsseFXu0jMNW0K+y8fyf6ciwMfsR3Psw9vMJh3GMAsutV1iEA9Tcpm1hron/h0bESziYSbfm2BYUDJJeUttgg3FPr2DY/+/aFzZ4M9/5P8rsbAgaFe4uGHh1JwIsVmbPhxN2B7PmJ7PuJsbgHgR9rzLv15hwG8wwAmsROz2aLgIdbLpAxsD2s6gEkn0bh7hZl9DOwM9MhnMPlIymawwQaw4Yaw2WZhhKFySk+3btC1a4ppl7vuGpLyxhvDbruFcm6HHgqbbpr7QEUK6e67w8qTsWPh+efhxx/XHOrAAvbhBfbhhTWvLWm5MbNencOsz2zNtNJZs8I040WLwg251atzG2IuppMW3Y0+MzsUGJX4tI27L4lo9wRhCONxdz9ynWMZf9Hp/n3OPBNeeSUxj3zVUhpPn7reRLhGlK35uCXLKifE0bqN0fr6y2jdOtQm3nDD8OjYsRa/cb/5JgzAde2qm3dSusrLw+6tb74Jb7wRinDNmlW9TZ8+YXVVBPewgcrChdUfCxas/9qSJWFOddlTz1G2sowyGlFOwzApbrtelLXfkLKyUCPp8cdTh15ysy/M7ATgwcSnjd29LKLdg8AJwDh332+dYzlLytVMnhzGETLVpo2qe4vkysKFIQlPnhyWu26+OVx1VW6v0akTzJ9f/bWRI2u0aKxUZ1/UStQ/RlU1Sdxr1LR7u2xZ+HWtHq1I7bVrF3a8yeeuN2VJ+oC5GEiuerqcnq0wllX5uDmQdPgCqBx1XZrfcKrYcEM499zwn9Sw4drnykfz5mFbhZYt1z6LSPE477zQmSorCwPSZWWw1VY5vUQxJuU5VT7elOiZFZV3tmpVKcLUixWRVG69NaenK8ZqBx8RVusBJK3HZ2YNgG0Tn85I1kZEJI6Krqfs7kvM7B1gJ2AfINm9zl0Ic5QBsipMlMm487qqLM1W97qe0f99/ZXr//ti7CkDPJR4PtHMNkly/LzE87v5XM0nIpJrxZqU7wC+BFoDT5tZDwir/czsWqByfspFdRSfiEhWim6eciUz60MYmshL6c4sY9KfsPWU/u/rr1z/3xdtUoakRe4XE4rc31CoIvfrxKMfzHpK//f1l5JyjOkHs/7S/339pRt9IiIlTElZRCRGlJRFRGJEY8oiIjGinrKISIwoKYuIxIiSsohIjCgpi4jEiJJynpnZHmbmGTw61nWsUnNmtrGZ3WRms8zsJzOba2ZPmdmwuo5N8sfMTs3gZzqrDTaKrnRnEasAvk9zXIqImfUGXqJ6/ZWOhGX/B5pZweuvSMGtBn6MOLYs4vWUlJQLZ7a7d6nrICQ3zKw5MJqQkKcAJ7v7dDNrA1wMnAtcaWaT3X1cHYYq+fWGu++RyxNq+EIkO6cDWxL2gDzY3acDuPtidz8PGAUYkOPtlKXUKSmLZOfExPND7v5NkuP/SDzvaGbbJjkukpSSskgNmVlroH/i07ERzSYCixIf66afZExJuXA6mdlkM1uWeHxiZv82sx3qOjCpse0JQxMA05M1cPcK1u603qMQQUmd6Glm081shZktMbMPzOwGM+ua7QmVlAunBdAPWEm4wboN8Ctgipmdl+qNEjtV94Wck6Jd5bFk+0hKaehI+CW9HGgG9ATOAaab2QnZnFBJOf8WEsYXBwDN3b0DIUEPBd4AGgL/yPY/UOpEyyofr0jRbnniuVUeY5G6MQe4BOgFNHP3DQj/zwcCM4DmwL1mNqSmJ1aVuCTM7GLCtKZsXOPuf87wOk0I81x3Bb4Gtkz82SsxlvgF+mDi08buXhbR7kHgBGCcu+9XqPikbplZW+AdoBvwprsPrsn71VNOrgGhB5vtIyPuvgr4a+LTzQnDGxJ/VRcFNE/RrkXiOauVXVKc3H0RcGXi04E1Xa2rpJyEu1/q7pbl44IaXu6tKh9vlcuvQ/Km6jjypinaVR77No+xSDxV/lwbUKObfkrKIjX3EVA57tczWQMzawBUzk+eUYigpDQoKde9Xap8/HmdRSEZc/clhDFDgH0imu0CtE18/GLeg5K4qfpz/UVN3qiknGdmFrntuJk1Bi5LfPotMLkgQUkuPJR4PtHMkk15q5zm+K67f5zkuBSpVD/TieNtgMphzLfdPVUhsvUoKeffB2Z2lpltU/mfaWYNzWw3Qg9qt0S7CzXzoqjcAXwJtAaeNrMeEFb7mdm1wBGJdhfVUXySP1ua2UQzO83Mtqh80cyamNlw4HWgO6Hy44U1PbmmxOWZmVX9B14JLAHaAE0Sr5UBf3H3awodm9SOmfUh/GKtWrqzFaGz44BKd5YgM+tC9aHGnwgzctoAjROvLQd+4+731/j8Ssr5ZWa/JsxD7g9sCLQnLDj4AngFuN3ddSOoSJnZxoTe0EHAZoTE/DZwg7trLLkEJcq2/pLwV24foBMhIS8DZhJ+Ud/u7l9mdX4lZRGR+NCYsohIjCgpi4jEiJKyiEiMKCmLiMSIkrKISIwoKYuIxIiSsohIjCgpi4jEiJKyiEiMKCmLiMSIkrKISIwoKYuIxIiSsohIjCgpi9RAYrOC1WbmZpa0VrIFjybaLDWznQodpxQvJWWRGnD3mcB/E5+eaWadkjT7J3A0YQODY9x9UoHCkxKgpCxSc5cRdpFpCZxf9YCZnQn8MfHpGe7+bIFjkyKnpCxSQ+4+G7g98envzGxDADM7DLgp8frf3P3OOghPipx2HhHJQmLY4jPCnnzXAY8BLwPNgbvd/bQ6DE+KmJKySJbM7DLgr4RNMpcR9mp7FjjU3cvqMjYpXkrKIlkyszaEXY07JF56B9jD3ZfVXVRS7DSmLJK9DoQZFpX+qIQstaWkLJIFM+sAjAE2rPLy7+soHCkhSsoiNWRmzYCngG2B2YRxZYAjzGzHOgtMSoLGlEVqwMwaEGZaHAEsAnYDPgI+BLoBY919eN1FKMVOPWWRmrmJkJBXAYe7+weJmRaXJ47vZ2a711l0UvTUUxbJkJn9CbgGcOBkd3+wyrGGwAygO/CauysxS1bUUxbJgJkdD1QWIPpz1YQM4O7lhOXXALuZ2QGFjE9Kh3rKImmY2Z6EmRZNgDvc/TcR7RoAHwDbA1OA/q4fMKkhJWURkRjR8IWISIwoKYuIxIiSsohIjCgpi4jEiJKyiEiMKCmLiMSIkrKISIwoKYuIxIiSsohIjCgpi4jEiJKyiEiMKCmLiMTI/wfe0EgEjFHA/wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "# # Make sure the font is Times Roman\n",
    "# plt.rcParams['font.family'] = 'Times New Roman'\n",
    "\n",
    "# # Perform the prediction\n",
    "# with torch.no_grad():\n",
    "#     prediction = lem(test_tensor)\n",
    "\n",
    "final_time_output = prediction_tensor[-38, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = h[-38, :].reshape(-1, 1)\n",
    "print(final_out.shape)\n",
    "print(final_true.shape)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x.T, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x.T, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "# Set the axis labels with bold font weight\n",
    "ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "ax.set_ylabel(r\"${|u(x, t)|}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# Set the title with bold font weight\n",
    "ax.set_title(r\"${t = 1.28}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 3\n",
    "ax.set_xticks([-5, 0, 5])\n",
    "ax.set_yticks([0, 2, 4])\n",
    "\n",
    "# Set tick labels fontweight to bold and increase font size\n",
    "ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # Set the fontweight for tick labels to bold\n",
    "# for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "#     tick.set_weight('bold')\n",
    "\n",
    "# Set the spines linewidth to bold\n",
    "ax.spines['top'].set_linewidth(2)\n",
    "ax.spines['right'].set_linewidth(2)\n",
    "ax.spines['bottom'].set_linewidth(2)\n",
    "ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "\n",
    "# Increase font size for x and y axis numbers\n",
    "ax.tick_params(axis='both', which='major', labelsize=24)\n",
    "\n",
    "# Set the legend\n",
    "# ax.legend()\n",
    "\n",
    "plt.savefig('LEM_1.28_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "baceeeca",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(256, 1)\n",
      "(256, 1)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "# # Make sure the font is Times Roman\n",
    "# plt.rcParams['font.family'] = 'Times New Roman'\n",
    "\n",
    "# # Perform the prediction\n",
    "# with torch.no_grad():\n",
    "#     prediction = lem(test_tensor)\n",
    "\n",
    "\n",
    "final_time_output = prediction_tensor[-3, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = h[-3, :].reshape(-1, 1)\n",
    "print(final_out.shape)\n",
    "print(final_true.shape)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x.T, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x.T, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "# Set the axis labels with bold font weight\n",
    "ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "ax.set_ylabel(r\"${u(x, t)}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# Set the title with bold font weight\n",
    "ax.set_title(r\"${t = 1.5}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 3\n",
    "ax.set_xticks([-5, 0, 5])\n",
    "ax.set_yticks([0, 2, 4])\n",
    "\n",
    "# Set tick labels fontweight to bold and increase font size\n",
    "ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # Set the fontweight for tick labels to bold\n",
    "# for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "#     tick.set_weight('bold')\n",
    "\n",
    "# Set the spines linewidth to bold\n",
    "ax.spines['top'].set_linewidth(2)\n",
    "ax.spines['right'].set_linewidth(2)\n",
    "ax.spines['bottom'].set_linewidth(2)\n",
    "ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "\n",
    "# Increase font size for x and y axis numbers\n",
    "ax.tick_params(axis='both', which='major', labelsize=24)\n",
    "\n",
    "# Set the legend\n",
    "# ax.legend()\n",
    "\n",
    "plt.savefig('LEM_1.5_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8575833f",
   "metadata": {},
   "source": [
    "### 80-20 contour plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "d355ac1f",
   "metadata": {},
   "outputs": [],
   "source": [
    "conc_u = torch.squeeze(input_tensor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "cbe2f326",
   "metadata": {},
   "outputs": [],
   "source": [
    "concatenated_tensor = torch.cat((conc_u, prediction_tensor), dim=0)\n",
    "\n",
    "t1 = np.linspace(0, 1.5707 , 200)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "5010ccd3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = concatenated_tensor.numpy()\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(0, 1, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(0, 1, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "X, T = np.meshgrid(x, t1)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "plt.figure(figsize=(20, 5))\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='twilight')\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$t$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$|u(x, t)|$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "# Add a dotted line at t = 0.8\n",
    "plt.axvline(x=1.26449, color='black', linestyle='dotted', linewidth=5)\n",
    "\n",
    "#plt.savefig('Contour_LEM_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_LEM_20.jpeg', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "69bb6963",
   "metadata": {},
   "source": [
    "### exact contour"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "9d174f94",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = h\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(0, 1, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(0, 1, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "X, T = np.meshgrid(x, t)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "plt.figure(figsize=(20, 5))\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='twilight')\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$t$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$|u(x, t)|$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "#plt.savefig('Contour_Exact.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_exact.jpeg', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "717f688f",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "pytorch",
   "language": "python",
   "name": "pytorch"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
